Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
If statement PDO::execute始终返回FALSE,但查询成功_If Statement_Pdo_Sql Insert_Execute - Fatal编程技术网

If statement PDO::execute始终返回FALSE,但查询成功

If 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()){

我试图得到关于数据库中已保存行的确认,但我的条件总是返回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()){
    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。所以您需要调试的问题不是来自于查询