2014-01-29 92 views
0

我不知道什麼是錯的。調試mysqli查詢或死亡mysqli_error

$result = $db->query("INSERT INTO post_items(`post_id`,`content`,`date`,`user_id`,`category_id`) 
    VALUES ('".$postid.", '".$content."', '".$date."', '".$user_id."', '".$category_id."')"); 
if($result) { 
    echo "hey"; 
} 

如何使用mysqli_error函數來檢查錯誤原因?我認爲PHP的語法很好。我想它對我的數據庫有問題。

+0

...'else echo $ db-> error;'MySQLi連接對象'$ db'具有'error'屬性。 –

+0

你真的應該開始學習[MySQLi準備語句](http://php.net/manual/en/mysqli.prepare.php)來提高查詢的安全性,並消除潛在的引用問題。 –

回答

0

單引號有問題。你在$postid之前有一個',但是之後沒有。這意味着SQL查詢將會看到'$postid, '作爲您的第一個變量,然後對剩下的內容感到困惑。

試着改變你的SQL閱讀:

$result = $db->query("INSERT INTO post_items(`post_id`,`content`,`date`,`user_id`,`category_id`) 
VALUES ('".$postid."', '".$content."', '".$date."', '".$user_id."', '".$category_id."')"); 

希望有所幫助。

+0

雖然我同意Michael Berkowski,但您應該看看使用MySQLi或POD來準備語句。它消除了一些錯誤的可能性,並會提高安全性。 – Doug