Php MySQL查询正在创建重复的行
我以前从未遇到过这样的错误。当它启动时,我正在使用准备好的语句,并尝试了所有方法来纠正问题,包括将表单剥离到它的裸组件 执行以下代码时,将创建一个重复的行Php MySQL查询正在创建重复的行,php,mysql,Php,Mysql,我以前从未遇到过这样的错误。当它启动时,我正在使用准备好的语句,并尝试了所有方法来纠正问题,包括将表单剥离到它的裸组件 执行以下代码时,将创建一个重复的行 $sql = "INSERT INTO inventory VALUES ('','$stocknum','$year','$make','$model','$price','$body','$mile','$engine','$trans', '$drive','$doors','$fuel','$vin','$
$sql = "INSERT INTO inventory
VALUES ('','$stocknum','$year','$make','$model','$price','$body','$mile','$engine','$trans',
'$drive','$doors','$fuel','$vin','$des','$featured','$sale','$features','$safety','$airbags','$power',
'$exterior','$interior','','','','','')";
$insert = mysql_query($sql,$connection) or die(mysql_error());
$name = mysql_insert_id();
我不明白它为什么会这样做。insert语句可能会被调用两次。您是否添加了日志以确保此代码只运行一次?您是否搜索以确保没有其他代码在其他地方添加库存记录?insert语句可能会被调用两次。您是否添加了日志以确保此代码只运行一次?您是否搜索以确保没有其他代码在其他地方添加库存记录?当您随后查询该表时,您是仅从该表中进行选择,还是将其加入到另一个表中?如果联接表中有多个子记录,则会得到多个结果
在我看来,您的代码是正确的,除非页面的其余部分有我看不到的内容。当您随后查询表时,您只是从该表中进行选择,还是将其加入到另一个表中?如果联接表中有多个子记录,则会得到多个结果
您的代码在我看来是正确的,除非页面的其余部分有我看不到的内容。库存表中有多少列?第二行与第一行完全相同吗?我不知道PHP的DB接口,但我可以想象一个bug,如果你给它的字段多于列,它会试图创建多行 编辑:对MySQL文档的一点研究发现: 插入使用值的语句 语法可以插入多行。做 这包括列的多个列表 值,每个值都包含在 括号和之间用逗号分隔。 例如: 在tbl_名称中插入(a、b、c) 数值(1,2,3)、(4,5,6)、(7,8,9) 每行的值列表必须为 用括号括起来。这个 以下语句是非法的,因为 列表中的值的数量不确定 与列名称的数量不匹配: 在tbl_名称中插入(a、b、c) 数值(1,2,3,4,5,6,7,8,9)
根据变量的内容以及PHP/MySQL驱动程序处理这些变量的方式(直接文本替代或
?
占位符),正在执行的语句可能与您期望的不一样。在执行之前,请尝试显示$sql
的值。库存表中有多少列?第二行与第一行完全相同吗?我不知道PHP的DB接口,但我可以想象一个bug,如果你给它的字段多于列,它会试图创建多行
编辑:对MySQL文档的一点研究发现:
插入使用值的语句
语法可以插入多行。做
这包括列的多个列表
值,每个值都包含在
括号和之间用逗号分隔。
例如:
在tbl_名称中插入(a、b、c)
数值(1,2,3)、(4,5,6)、(7,8,9)
每行的值列表必须为
用括号括起来。这个
以下语句是非法的,因为
列表中的值的数量不确定
与列名称的数量不匹配:
在tbl_名称中插入(a、b、c)
数值(1,2,3,4,5,6,7,8,9)
根据变量的内容以及PHP/MySQL驱动程序处理这些变量的方式(直接文本替代或
?
占位符),正在执行的语句可能与您期望的不一样。在执行之前,请尝试显示$sql
的值。我猜您的.htaccess文件有问题,该文件对同一脚本发出了两个请求。插入时用时间戳记录一条消息。我猜您的.htaccess文件有问题,它向同一脚本发出了两个请求。在插入时用时间戳记录消息。在使用和orm库访问数据库时,我在项目中遇到了相同的问题。还直接用mysql进行了测试
在多个浏览器中进行了将近一天的测试并得到了不同的结果之后,我发现我在Chrome上使用的扩展(Webug)导致了对页面的回忆。禁用扩展后,它工作了
我已经测试了一些导致该问题的扩展。。。在chrome中:Webug
希望能有所帮助我在一个项目中使用和orm库访问数据库时遇到了同样的问题。还直接用mysql进行了测试 在多个浏览器中进行了将近一天的测试并得到了不同的结果之后,我发现我在Chrome上使用的扩展(Webug)导致了对页面的回忆。禁用扩展后,它工作了 我已经测试了一些导致该问题的扩展。。。在chrome中:Webug
希望它能有所帮助在没有任何真正明确的结论的情况下,我的观察结果是,我认为Red元素在正确的轨道上,他说“我认为这与我的web主机有关,因为现在每个添加SQL数据的脚本都在做同样的事情” 我遇到了上面概述的问题,直到我在另一个平台上运行相同的代码,并且运行良好,我才发现到底是什么导致了这个问题。我最初是在本地主机WAMP配置中进行测试的,但当我将代码升级到真正的服务器时,它没有问题
因此,我建议,如果其他人有这个问题,那么值得在不同的服务器配置上尝试一下 在没有任何真正明确的结论的情况下,我的观察是,我认为Red Element在正确的轨道上,他说“我认为这与我的web主机有关,因为现在每个添加SQL数据的脚本都在做同样的事情” 我有上面列出的问题和c