Php 如何将多维数组插入数据库?

Php 如何将多维数组插入数据库?,php,mysql,arrays,session,multidimensional-array,Php,Mysql,Arrays,Session,Multidimensional Array,我的数组,即$\u会话['cart\u array']包含 Array ( [0] => Array ( [item_id] => qwerty [quantity] => 2 [unit_price] => 500 ) [1] => Array ( [item_id] => skjbm [quantity] => 3 [unit_price] => 100 ) ) 要插入到我的数据库代码中的代码是 foreach($_SESSION['ca

我的数组,即$\u会话['cart\u 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,因为我在$会话['cart_array']中有两项

mysql错误显示:

错误:您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“1”附近使用的正确语法

如何在数据库中输入两个或多个项目?

请这样尝试。顺便说一句,mysql不推荐使用mysqli


在执行查询之前尝试回显查询,以查看实际生成和执行的查询。还可以考虑使用PDO和准备语句而不是级联语句。谷歌sqlinjection@pala请重新编写上面的代码,如何将其插入数据库…这将是一个很大的帮助…如果您回显已完成的查询字符串,然后将其放入您的问题中,这将是一个很大的帮助您是guniess@Raja…还有一个问题,如果有人实时更改购物车中的数量,您可以我将唯一的数量值更新到数据库中。因为它已经存储在数据库中,所以数量为2,如果用户将其设置为5,那么当用户单击“继续签出”时,我如何更新您希望在签出之前将其存储到db的原因。嗨@Raja..u为此感到高兴非常感谢..我有一个问题..当用户点击“继续签出”按钮时会话购物车插入数据库,用户进入登录页面。但如果用户返回上一个购物车页面并删除其中一个项目,然后再次点击“继续结帐”按钮,则再次将其插入数据库并复制/加倍数据如何进行安全检查购物车项目是否存在或是否发生任何更改或是否删除了任何项目,只需更新购物车或使用Sessionoon orderid从购物车中删除特定项目当我的购物车有一些产品时,我将其绑定到一个产品id,并且两者都将存储在会话中,即$\u会话['cart\u array']和$\u会话['orderid']。当用户实时更改购物车中的数量时,它会更新存储的会话数组数量。。直到现在它是确定的。。当点击“签出”按钮时,会转到登录页面,并使用会话orderid将会话数组存储在数据库中。之后,登录电子邮件id将附加到orderid,,到目前为止,一切正常……但当用户返回购物车页面并再次点击继续结帐按钮时,例外情况是加倍查看存储在数据库中的会话数组如何检查它……如果用户再次返回并更改数量并点击结帐,我如何用id搜索先前存储的项目并更新唯一的数量按钮……谢谢@Raja
$insert_query = 'INSERT INTO product_added (id,ip_address,order_id,email,item_id,unit_price,quantity,total,pay_status) values ';

 foreach($_SESSION['cart_array'] as $each_item){ 

    $insert_query .= "('','','','','".$each_item['item_id']."','".$each_item['quantity']."','".$each_item['unit_price']."','',''),";        

 }

$query = rtrim($insert_query, ',');
if(!mysql_query($query)){
    die('Error: ' . mysql_error());
}else{
    echo "record added";
}