PHP PDO插入查询错误: Integrity constraint violation

标签 php mysql pdo insert

你好,我有一个这样的 PHP 脚本:

<?php 
require('includes/db-core.php');//My DB info
$dbh = mf_connect_db();//Creates a connection object
$newObjs = array();
for($i=0;$i<6;$i++){
    array_push($newObjs,"data".$i);
}
try {
    for($i=0; i<sizeof($newObjs); $i++){
$stmt2 = $dbh->prepare("INSERT INTO companies_table (data1, data2, data3, data4, data5, data6) VALUES (?, ?, ?, ?, ?, ?)");         
        $stmt2->bindParam(1, $newObjs[$i]);
        $stmt2->bindParam(2, $newObjs[$i]);
        $stmt2->bindParam(3, $newObjs[$i]);
        $stmt2->bindParam(4, $newObjs[$i]);
        $stmt2->bindParam(5, $newObjs[$i]);
        $stmt2->bindParam(6, $newObjs[$i]);
        $stmt2->execute();
    }
    echo "New Row successfully added";
}catch( Exception $e ){
    echo 'Query error : ', $e->getMessage();
}
?>

我收到以下错误:查询错误:SQLSTATE[23000]:违反完整性约束:1048 列 'data1' 不能为 null ,但数据插入正确,我不知道为什么这就是发生(错误+插入)。

我的表的所有字段都不为空。

没有人注意到我的这个错误:

try {
    for($i=0; i<sizeof($newObjs); $i++){

我忘记了 $ 符号,真的很抱歉,但这对于学习一点很有好处:感谢所有提供答案的用户,但下次最好先检查帖子是否有错误。

谢谢

最佳答案

编辑:

从数据库中的错误看来,您似乎不能将列 data1 设为 null,并且在循环的某些点上,同一列似乎具有 null 值。

关于PHP PDO插入查询错误: Integrity constraint violation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20837743/

相关文章:

php - 什么时候 eval 在 php 中是邪恶的?

来自平面 JSON 的 PHP 嵌套 JSON

mysql - 如何在 mysqlsh importTable util 中设置 IGNORE 标志?

php - 在 PHP 中使用 PDO 将 HTML 表单中的数据插入 MySQL

php PDO MySQL 根据另一个表的结果数组选择一个表的结果

javascript - 如何用关键字替换文本?

php - 使用 PHP 的 IP 地址不可靠

mysql - 如何处理 MySQL 过程和函数

mysql - 从远程计算机访问 MYSQL

php pdo将字段表动态jquery插入到mysql中