2013-04-21 231 views
-2

你好,我試圖插入數據到一些colums,但它不會工作。有人可以幫忙嗎?MYSQL查詢不起作用?

我有這個

<form action="member.php?id=<?php echo $data["id"];?>" method="post" style="display:inline-block; font-size:14px"> 

<input type="submit" value="Add" class="btn btn-primary" name="add" /> 

</form> 

然後:

if(isset($_POST["add"])){ 
$reciver = $data["username"]; 
$sender = $_SESSION['name']; 
$query = $pdo->prepare("INSERT INTO friend-request(reciver, sender, timestamp) VALUES (?,?,?)"); 
$query->bindValue(1, $reciver); 
$query->bindValue(2, $sender); 
$query->bindValue(3, time()); 
$query->execute(); 
} 

感謝。

+0

可以在沒有名稱被轉義的情況下使用MySQL連接字符串嗎? – Ben 2013-04-21 18:01:20

回答

0

timestamp是MySQL中的保留字。你必須用反引號逃脫:

INSERT ... ,`timestamp`) ... 
      ^--  ^-- 

你不檢查->execute()調用的返回值,所以你從來沒有看到的MySQL試圖告訴你的查詢失敗。 從不假設查詢已成功。 總是檢查錯誤。現在你的代碼相當於在你的耳朵上粘着手指,並且「lalalala聽不到你」。

0

我會說寫這樣的事情,而不是:

$reciver = $_POST["username"]; 

小心SQL注入,當您將數據插入到你的數據庫。

並確保您的表單中有用戶名輸入字段