由于表结构可能会导致插入数组的麻烦

时间:2013-06-08 17:46:52

标签: mysql arrays data-structures insert auto-increment

以下是表格结构的屏幕截图:

https://docs.google.com/file/d/0By2lFlhEzILjYlM4SjdhdFNpbk0/edit?usp=sharing

当我尝试以下数组的INSERT INTO sql命令时,我得到一个空白页面(在本地运行)。这是sql动作:

foreach($insertProductMap as $rowEntry => $virtuemartProductPrice)

   {


$sql_updateProductPrice = "INSERT INTO `$abc_virtuemart_product_prices` (`virtuemart_product_price_id`, `virtuemart_product_id`, `virtuemart_shoppergroup_id`, `product_price`, `override`, `product_override_price`, `product_tax_id`, `product_discount_id`, `product_currency`, `product_price_publish_up`, `product_price_publish_down`, `price_quantity_start`, `price_quantity_end`, `created_on`, `created_by`, `modified_on`, `modified_by`, `locked_on`, `locked_by`) VALUES ('5', '0', NULL, '".mysql_real_escape_string($virtuemartProductPrice)."', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0000-00-00 00:00:00', '0', '0000-00-00 00:00:00', '0', '0000-00-00 00:00:00', '0')";

mysql_query($sql_updateProductPrice);

   }

这只是我尝试更新此表的众多迭代之一。我已在其他表上测试了类似的数组插入,它工作正常。这就是让我相信必须存在我不正确地调用的数据库结构的东西。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

据我所知,MYSQL错误不会破坏页面。

页面上还有其他代码吗?如果您的页面上没有其他代码,则问题是没有任何内容被告知要在页面上显示。如果是PHP,请尝试在脚本开头放置ini_set("display_errors","1");以显示错误。

如果您仍然没有看到任何错误,请尝试将echo "a";放在脚本的顶部并重新加载您的页面。你应该看到一个“a”。继续沿着你的脚本移动这一行;如果你看到它,这一行就在你的错误之前,如果你没有看到,这一行是在你的错误之后。

此外,您需要清理输入,不仅要阻止SQL injection,还要防止撇号被破坏。