gpt4 book ai didi

PHP MySQL INSERT INTO : can't insert anymore

转载 作者:行者123 更新时间:2023-11-29 01:36:55 26 4
gpt4 key购买 nike

我正在写新闻并将其插入到我的数据库中,我在 3 年前构建了代码并且运行良好,但我不能再插入了,我不明白为什么:

$insert=mysqli_query($co,"INSERT INTO articles VALUES('','".addslashes(htmlentities($_POST['title']))."','".time()."','".nl2br(addslashes(htmlentities($_POST['msg'])))."')") or die("insert error: ".mysqli_error());

表格 articles 获取结构的地方(id : int(11) auto_increment, title : text, date : int(11), msg : text)

当我尝试时,我遇到了“插入错误”消息,但是 mysqli_error() 消息是空的,所以我在 phpmyadmin 上尝试了一个假条目:

INSERT INTO articles VALUES('','testset','1396642210','FUUUUUU')

我得到#1366 - 不正确的整数值:'' for column 'id' at row 1(但 id 是自动递增的 ?? :/)

(连接和数据库选择都可以)我真的不明白发生了什么,我一直在处理这个请求 2/3 年并且它正在工作......有什么想法吗?

最佳答案

您已经迁移到 MySQL 5.7,它具有新的安全性和数据完整性检查:INT 列不能再将 STRING 值保存为 ''

使用DEFAULT作为值,或者只是不在你的INSERT中添加列:

INSERT INTO articles (title, date, msg) VALUES (?, ?, ?);

INSERT INTO articles VALUES (DEFAULT, ?, ?, ?);

如果更改列顺序,则安全性较低。

关于PHP MySQL INSERT INTO : can't insert anymore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39764342/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com