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

标签 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错误显示:

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1

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

最佳答案

尝试这样。顺便说一句 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";
}

关于php - 如何将多维数组插入数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29437714/

相关文章:

javascript - 如何使用 angularjs 从对象数组中删除项目?

c++ - 如何在实例化数组类后插入整个数组 [C++]

java - 为什么 boolean 值在数组中占用的内存更少?

php - 如何在 Laravel 5.2 中使用 Prepared Statement

PHPUnit 和全局变量

php - MySQL 查询从一个表中获取最佳排名并更新结果另一个表

mysql - 当 COUNT 返回 null 时如何插入零? MySQL

mysql - 为每行选择 x 天的 AVG

php - 可以使用 Symfony2 中的配置文件设置 PDO::MYSQL_ATTR_LOCAL_INFILE

mysql - Sequelize model.create 不是函数