我的代碼顯示-1記錄插入的錯誤,並沒有插入字段到數據庫。任何想法爲什麼這樣做?-1記錄插入的錯誤
<?php
include("dbconnect.php");
$con=new dbconnect();
$con->connect();
error_reporting(E_ALL);
if($_POST) {
$users_name = $_POST['name'];
$users_email = $_POST['email'];
$users_website = $_POST['website'];
$users_comment = $_POST['content'];
$users_name = htmlspecialchars($users_name);
$users_email = htmlspecialchars($users_email);
$users_website = htmlspecialchars($users_website);
$users_comment = htmlspecialchars($users_comment);
$postid = $_GET['id'];
$sSql = "INSERT INTO comments
(post_id, name, email, website,content)
VALUES ($postid, '$users_name',
'$users_email', '$users_website', '$users_comment')";
mysql_query($sSql);
$update=mysql_affected_rows();
echo "<h2>$update Record Inserted</h2><br />";
echo '<h2> Your Comment is submitted</h2><br />';
}
?>
由於某些原因,評論表沒有得到更新。我是mySQL和PHP編程的新手。任何建議對我都有很大的幫助。謝謝。
有一件事你總是可以做的是'echo $ sSql'並查看查詢是否看起來像你想要的。完成了@sachleen說的 – sachleen 2012-07-09 01:04:49
;採取查詢並直接在MySQL(PhpMyAdmin或Navicat或任何其他)中運行它,因爲它會給你更好的錯誤信息(在Googleable中更好)。 – 2012-07-09 01:09:49
'htmlspecialchars'不適用於此場景。請停止使用古代的mysql_ *函數編寫新的代碼。他們不再被維護,社區已經開始[棄用流程](http://news.php.net/php.internals/53799)。相反,您應該瞭解準備好的語句並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/mysqli)。如果你關心學習,[這裏是一個很好的PDO相關教程](http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers)。 – DCoder 2012-07-09 04:11:15