php-PDO SQL状态为“ 00000”

时间:2019-12-04 21:17:21

标签: php mysql pdo

我有一个不错的“它可以在我的机器上工作”的错误。 在使用apache2的Linux中,以下SQL可以正常运行,而在Windows上,使用XAMPP则行不通。

我的想法:

  • php / PDO可以访问数据库
  • php / PDO可以插入表格中
  • 该表存在并且具有必需的列
  • 我删除了所有与插入内容相关的表,并对其进行了重新制作
  • 已经按照建议的here设置了PDO错误属性。但是,PDO不会引发异常。
  • 我正在最后一次调用时使用PDO :: errorCode和PDO :: errorInfo 建议here
  • 执行数据库操作
  • php设置为显示错误
  • 要输入数据库的数据有效
  • sql语句有效

我只收到奇怪的错误,没有数据输入数据库

代码:

try {
        $stmt = $db->prepare('
            INSERT INTO
                table
                (value1, value2, value3, value4, startDate, endDate, boolVar1, boolVar2)
            VALUE
                (:value1, :value2, :value3, :value4, CURDATE(), null, true, :boolVar2)
        ');
        $stmt->bindParam(':value1', $value1, PDO::PARAM_STR);
        $stmt->bindParam(':value2', $value2, PDO::PARAM_STR);
        $stmt->bindParam(':value3', $value3, PDO::PARAM_STR);
        $stmt->bindParam(':value4', $value4, PDO::PARAM_INT);
        $stmt->bindParam(':boolVar2', $boolVar2, PDO::PARAM_BOOL);
        if ($stmt->execute() === false) {
            $out = "Error Code: " . $stmt->errorCode();
            $out .= "<br>Error Info:<br>";
            foreach ($stmt->errorInfo() as $error) {
                $out .= $error . '<br>';
            }

            die($out)
        }
    } catch (PDOException $e) {
        die("Exception: " . $e);
    }

输出:

  

错误代码:00000

     

错误信息:

     

00000

0 个答案:

没有答案