php - SQLSTATE[23000] : Integrity constraint violation: 1048 Column 'teamName' cannot be null

标签 php mysql

所以我试图用数据填充我的表格,但我不断收到此错误:

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'teamName' cannot be null

奇怪的是,如果我回显 $myarray[1],它会循环并打印每个团队名称,所以我不明白为什么我在读取数据时遇到这么多问题?该数组显然不包含空值?

这是表的创建:

$createQuery ="CREATE TABLE TeamTable
(
    teamID  INT(6) NOT NULL AUTO_INCREMENT,
    teamName    VARCHAR(60) NOT NULL,
    Flag        BLOB,
    Country VARCHAR(30) NOT NULL,

    PRIMARY KEY(teamID)
)";
$pdo->exec($createQuery);

这是我要插入表格的位置:

$filet = fopen("team.csv", "r");
while(!feof($filet))
{
$myarray = fgetcsv($filet);

$insertTeamQuery ="INSERT into TeamTable(teamName, Country, Flag) VALUES(:val1,:val2,:val3)";
$stmt = $pdo->prepare($insertTeamQuery);
echo $myarray[1];
$stmt->execute(array(':val1' => $myarray[1], ':val2' => $myarray[2], ':val3' => $myarray[3]));
$stmt->execute();
 }
 fclose($filet);

我检查了 PHPmyadmin,应该有 6 个团队,但我每个团队有 2 个,这很奇怪吗?不确定为什么它在每个循环中两次放置相同的值?但是如果它在那里填满它显然填满了表格所以我不明白这个错误说它是空的?已经为这个问题苦苦挣扎了一段时间

如果有人知道出了什么问题,我将非常感谢您的帮助,在此先感谢! :)

最佳答案

因为你执行了两次,

$stmt->execute();

删除此行,您的代码将正常工作

关于php - SQLSTATE[23000] : Integrity constraint violation: 1048 Column 'teamName' cannot be null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46360579/

相关文章:

php - Opencart 2 将自定义客户数据添加到管理客户资料页面

php - 在 Laravel 表单验证后插入记录

php - 文件上传 - 违反完整性约束 : 1062 Duplicate entry '1' for key 'PRIMARY

php - SQL从4张表中获取信息

php - 如果第二个表中没有符合匹配条件的行进行计数,如何显示一个表中的所有行

php - 如果您的变量未通过,如何修复它

php - 如何在不对所有数据进行编码的情况下进行 POST 调用?

mysql - 使用 NodeJS 和 KnexJS 同步 MySQL 查询

MySQL 计数逗号分隔

javascript - Jquery(ajax)加载功能不起作用?