... or die(mysql_error()
正如 Marc B 指出的那样,使用, 引导我解决我的问题。这显示了我无法设置重复键的错误...我忘记auto increment
了表的主键votes
。因此,它一直在尝试创建一个我每次尝试voteID
的.1
INSERT INTO votes
$postVote = mysql_query(...) or die(mysql_error());
这解决了我的挑战。然而,Tim G 指出 usingPDO
是一种比mysql_query()
. 通过一点阅读,Tim G 对 PDO 的看法可能是正确的。基于PHPEveryday's Tutorial,我可以这样重写我的插入语句:
// database connection
$conn = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass);
//set variables
$movieID = 41154;
$userID = 15;
$vote = 'yes';
//query/insert statement
$sql = "INSERT INTO votes (movieID,userID,yesNo,$vote) VALUES (:movieID,:userID, :yesNo, :$vote)";
$q = $conn->prepare($sql);
$q->execute(array(':movieID'=>$movieID,
':userID'=>$userID)),
':yesNo'=>1)),
':$vote'=>1));
与 using不同or die()
,PDO
也有不同的处理错误和异常的方式。您可以在PHPHash.org 的教程:MySQL 的 PDO - 错误处理中了解更多信息。