If statement PDO::execute始终返回FALSE,但查询成功
我试图得到关于数据库中已保存行的确认,但我的条件总是返回FALSEIf statement PDO::execute始终返回FALSE,但查询成功,if-statement,pdo,sql-insert,execute,If Statement,Pdo,Sql Insert,Execute,我试图得到关于数据库中已保存行的确认,但我的条件总是返回FALSE $conn = new PDO($dir) or die("hovno"); $query = "INSERT INTO sncheck (caseId, snPaper, snBox, snUnit) VALUES ('$caseId', '$snPaper', '$snBox', '$snUnit')"; $prep = $conn->prepare($query); if($prep->execute()){
$conn = new PDO($dir) or die("hovno");
$query = "INSERT INTO sncheck (caseId, snPaper, snBox, snUnit) VALUES ('$caseId', '$snPaper', '$snBox', '$snUnit')";
$prep = $conn->prepare($query);
if($prep->execute()){
print "DONE";
}
else{
print "ERROR";
}
它总是触发else
语句。更改为:
$req = $conn->prepare("INSERT sncheck users (caseId, snPaper, snBox, insnUnitos, roles_id) VALUES (:login, :password, :email, :infos, :snUnit)")or exit(print_r($conn->errorInfo()));
$req->execute(array(
"caseId" => $caseId,
"snPaper" => $snPaper,
"snBox" => $snBox,
"nUnit" => $nUnit
));
尝试调试您的查询,如下所示,这样您将得到正确的错误消息-
$conn = new PDO($dir) or die("hovno");
$query = "INSERT INTO sncheck (caseId, snPaper, snBox, snUnit) VALUES ('$caseId', '$snPaper', '$snBox', '$snUnit')";
$prep = $conn->prepare($query);
if (!$prep) {
echo "\nPDO::errorInfo():\n";
print_r($conn->errorInfo());
}
if($prep->execute()){
print "DONE";
}else{
echo "\nPDO::errorInfo():\n";
print_r($conn->errorInfo());
print "ERROR";
}
如果仍有问题,请告知我,并显示错误消息。无错误消息。只是数组:PDO::errorInfo():数组([0]=>00000[1]=>[2]=>)@MélikZarkouna尝试过。它不会输出任何错误或错误。@martinkelleri。所以您需要调试的问题不是来自于查询