【发布时间】:2015-06-08 20:52:29
【问题描述】:
我的数组,即 $_SESSION['cart_array'] 包含
Array ( [0] => Array ( [item_id] => qwerty [quantity] => 2 [unit_price] => 500 ) [1] => Array ( [item_id] => skjbm [quantity] => 3 [unit_price] => 100 ) )
要插入我的数据库代码的代码是
foreach($_SESSION['cart_array'] as $each_item){ $sql=mysql_query("INSERT INTO product_added(id,ip_address,order_id,email,item_id,unit_price,quantity,total,pay_status)values('','','','','".$each_item['item_id']."','".$each_item['quantity']."','".$each_item['unit_price']."','','')");
if(!mysql_query( $sql)){
// maybe not the best use of `die` here?
die('Error: ' . mysql_error());
}echo "record added"; }
我的问题是,当我运行脚本时,它只添加一个项目,即:item_id=qwerty,quantity=2 和 unit_price=500 到表中,因为我在 $_SESSION['cart_array'] 中有两个项目。
并且mysql错误显示:
错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“1”附近使用正确的语法
如何将两个或多个项目输入数据库?
【问题讨论】:
-
在执行之前尝试回显您的查询,以查看实际正在构建和执行的查询。还可以考虑使用 pdo 和准备好的语句而不是串联。谷歌sql注入
-
@pala 请重写上面的代码,我怎样才能将它插入到数据库中......这将是很大的帮助......
-
如果您回显完整的查询字符串然后将其放入您的问题中,这将是一个很大的帮助
标签: php mysql arrays session multidimensional-array