2016-09-22 113 views
1

Godd night。我有這個代碼爲PHP添加數據到我的數據庫,但我沒有得到成功。我無法將數據添加到我的數據庫

<?php 
require("config.inc.php"); 
if (!empty($_POST)) { 
$user = $_POST['User']; 
$mail = $_POST['Mail']; 
$token = $_POST['Token']; 
$pass = $_POST['Pass']; 
$result = mysqli_query($con,"SELECT 1 FROM Proteos where 
     User='$user'"); 
$row = mysqli_fetch_array($result); 
$data = $row[0]; 
if($data==0){ 
    echo $data; 
    echo "Hey, un grato saludo mister ".$user."!\n"; 
    $query = "INSERT INTO Proteos (User, Mail) VALUES ($user,$mail) "; 
} 
mysqli_close($con) 

這是我config.inc

<?php 
define('DB_SERVER','mysql.smartfreehosting.net'); 
define('DB_NAME','u178665800_prote'); 
define('DB_USER','u178665800_carin'); 
define('DB_PASS','xxxxxx'); 
$con = mysql_connect(DB_SERVER,DB_USER,DB_PASS); 
mysql_select_db(DB_NAME,$con); 
?> 
+0

放到$用戶中,像 '$用戶', '$郵件' 單引號$郵件 –

+1

你不執行你的查詢$查詢。你只是聲明查詢變量 – Gopalakrishnan

+0

是不是有用的任何建議 –

回答

0

字符串值必須在引號傳遞。同時執行查詢。 要調試使用mysqli_error

$query = "INSERT INTO Proteos (User, Mail) VALUES ('{$user}','{$mail}') "; 
mysqli_query($con,$query); 
or 
mysqli_query($conn, $query) or die(mysqli_error($conn)); 

與mysqli的(ref)在config.inc改變連接

$con = mysqli_connect(DB_SERVER,DB_USER,DB_PASS, DB_NAME); 
+0

它不能幫助我 –

+0

我得到這個「無法輸入數據:你的SQL語法有錯誤;查看與你的MySQL服務器版本相對應的手冊以使用正確的語法」或死(mysqli_error( ))'在第1行「。 –

+0

添加了用於打印wrror的插入語法。 PLZ看看 –

0

把你的價值在單引號而不是執行查詢

$query = "INSERT INTO Proteos (User, Mail) VALUES ($user,$mail) "; 

$query = "INSERT INTO Proteos (User, Mail) VALUES ('$user','$mail') "; 

這通$querymysqli_query

mysqli_query($con,$query); 
+0

它不能幫助我 –

+0

我添加了mysqli而不是mysql。你用mysqli改變了你的config.inc 嗎? –

+0

@BrandonPrieto你混合了mysql和mysqli。所以首先檢查一下,然後再試一次。 –

0
<?php 
require("config.inc.php"); 


    if (!empty($_POST)) { 
    $user = $_POST['User']; 
    $mail = $_POST['Mail']; 
    $token = $_POST['Token']; 
    $pass = $_POST['Pass']; 
$result = mysqli_query($con,"SELECT 1 FROM Proteos where 
     User='$user'"); 
$row = mysqli_fetch_array($result); 
$data = $row[0]; 
if($data==0){ 
    echo $data; 
    echo "Hey, un grato saludo mister ".$user."!\n"; 
    mysqli_query($con,"INSERT INTO Proteos (User, Mail) VALUES ('$user','$mail') ") or die(mysqli_error()); 
} 
mysqli_close($con); 

檢查上面的代碼之後,值是使用「變種」插入像'$user','$mail' 任何錯誤顯示在查詢有助於發現代碼or die(mysqli_error())

+0

顯示任何錯誤。它仍然不起作用。 –

+0

我得到這個「無法輸入數據:你的SQL語法有錯誤;檢查與你的MySQL服務器版本相對應的手冊,以便在第1行使用正確的語法」或者死亡(mysqli_error())「。 –

+0

親愛的布蘭登·普列託,我已經更新了代碼,請通過它去。 –

0

您正在將VARCHAR (string)數據插入數據庫而沒有單引號。

沒有單引號的數據被視爲表/字段名稱或整數或關鍵字。

您輸入的數據不是這些都是導致錯誤。

更正SQL:

$query = "INSERT INTO Proteos (User, Mail) VALUES ('$user','$mail') "; 
相關問題