所以我正在制作这个项目,我正在使用的一个INSERT查询似乎出现故障。我在同一项目上有其他INSERT查询可以正常工作,所以我不确定问题是什么。这是发生故障的查询。转储错误没有任何结果,但没有行受到影响。
$qry3 = $conn->prepare("INSERT INTO usermovie(user,movie) VALUES(:user, :filmid)");
$qry3->bindParam(':user',$user,PDO::PARAM_STR,16);
$qry3->bindParam(':filmid',$film,PDO::PARAM_INT);
$qry3->execute(); //usermovie, user and movie are the correct names for the table and columns.
为了进行比较,同一项目中的此插入查询确实有效,并创建一个新条目。
$qry2 = $conn->prepare("INSERT INTO users(userid,userpass,email,credits) VALUES(:username, :password, :email,0)");
$qry2->bindParam(':username', $nusername, PDO::PARAM_STR, 16);
$qry2->bindParam(':password', $npassword, PDO::PARAM_STR, 16);
$qry2->bindParam(':email', $nemail, PDO::PARAM_STR, 16);
$qry2->execute();
编辑:似乎解决方案没有与此有任何关系,服务器更新了脚本错误并使用了旧的故障版本,所以这不是问题。
我想这个问题可以删除。
答案 0 :(得分:1)
将以下内容添加到PHP脚本的顶部,以便您可以看到所有PHP错误消息:
error_reporting(E_ALL);
ini_set('display_errors', '1');
您还可以检查某些数据库方法的返回值或错误值。
在某些数据库中,user
是一个保留关键字,需要在后面的方框或方括号中包围,具体取决于数据库。