以下是表格结构的屏幕截图:
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);
}
这只是我尝试更新此表的众多迭代之一。我已在其他表上测试了类似的数组插入,它工作正常。这就是让我相信必须存在我不正确地调用的数据库结构的东西。有什么想法吗?
答案 0 :(得分:0)
据我所知,MYSQL错误不会破坏页面。
页面上还有其他代码吗?如果您的页面上没有其他代码,则问题是没有任何内容被告知要在页面上显示。如果是PHP,请尝试在脚本开头放置ini_set("display_errors","1");
以显示错误。
如果您仍然没有看到任何错误,请尝试将echo "a";
放在脚本的顶部并重新加载您的页面。你应该看到一个“a”。继续沿着你的脚本移动这一行;如果你看到它,这一行就在你的错误之前,如果你没有看到,这一行是在你的错误之后。
此外,您需要清理输入,不仅要阻止SQL injection,还要防止撇号被破坏。