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

时间:2015-04-03 18:27:32

标签: php mysql arrays session multidimensional-array

我的数组,即$ _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”附近使用正确的语法

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

1 个答案:

答案 0 :(得分:0)

试试这样。 Btw mysql已弃用mysqli

$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";
}