加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – MYSQL意外插入多行

发布时间:2020-12-13 13:46:56 所属栏目:PHP教程 来源:网络整理
导读:我有一个问题,希望有人可以帮助我. 我的问题是,每当我在“MainFile”中运行代码时,它输出它已经添加条目的两个ID,但是当我查看我的数据库时,我有六个条目而不是两个…有没有人可以告诉我为什么可能这样做? 注意:我只提供了类的代码片段,因为提供完整的类将
我有一个问题,希望有人可以帮助我.

我的问题是,每当我在“MainFile”中运行代码时,它输出它已经添加条目的两个ID,但是当我查看我的数据库时,我有六个条目而不是两个…有没有人可以告诉我为什么可能这样做?

注意:我只提供了类的代码片段,因为提供完整的类将是太多的代码.这是唯一的执行代码.

编辑编辑历史

编辑:我已经在这篇文章的底部添加了一个调试日志,验证了我每个查询只执行一次SQL代码.

编辑:我不再使用序列化方法,因为它显然是存储这种类型的数据的坏主意.然而,即使我的新代码存储数据库中的每个单独的值,我仍然得到三个条目,而不是一个.所以,这是同样的问题.什么?

编辑:经过几天的调试,我把它缩小到导致问题的这一行

Throwlite::$systemSQL->executeSql("INSERT into ".SQL_COMMENTTHREADS_TABLE." (id,sort_order) values (DEFAULT,'2')");

您可以在此查看LiteSQL类以供参考:http://pastebin.com/a4C6fF4u

另外,为了参考,这里是用于创建表的代码:

"CREATE TABLE IF NOT EXISTS `" . SQL_COMMENTTHREADS_TABLE . "` (`id` int unsigned NOT NULL AUTO_INCREMENT,`sort_order` int NOT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;"

而且,即使我很确定它不要紧,这里是SQL_COMMENTTHREADS_TABLE定义的位置.

define( 'SQL_COMMENTTHREADS_TABLE',"tl_comment_threads");
我不确定这是否回答您的问题,但您似乎正在指定您要插入的ID.我不知道你是不是在你的id列上使用一个PRIMARY KEY,或者为什么这样工作,但也许你想要这样:

INSERT INTO“.SQL_COMMENTS_TABLE.”(id,thread)VALUES(DEFAULT,?)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读