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