首先,你数据库用的是什么?用什么连接的数据库?
创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、网站建设、宣恩网络推广、小程序定制开发、宣恩网络营销、宣恩企业策划、宣恩品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供宣恩建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
如果用values的形式插入语句只能用for反复执行(以mysql为例)
for($i = 0; $i 66; $i++){
mysql_query("insert into users (user_id,user_name) value( array[$i]['user_id'],array[$i]['name'])");
}
或者一次性生成表然后插入,需要尽量保证表结构一致
$str = "insert into users ("
for($i = 0; $i 66; $i++){
$str .= "select ".array[$i]['user_id']." as user_id,".array[$i]['name']."as name";
}
$str .= ")";
mysql_query($str)
把数组转成json或其他字符串在写入数据库,不转换字符串无法写入或自由Array,我是没试过,反正我知道是无法写入,我都是转成json后在写入。
?php
$array=array(
"data1"="data1",
"data2"=array(
"data22"="data22",
"data222"="data222"
),
"data3"="data3"
);
$encode=json_encode($array); //数据库写入转换
$addslashes=addslashes(json_encode($array)); //如果只用英文字符的话可以直接用上面,用中文或有带斜杠/,PHP写入数据库的时候会去掉斜杠/,所以addslashes函数在转换下写入
$decode=json_decode($array,true); //数据库读取转换
?
lxydjx 正解,我来详细补充一下吧。未经测试、、、
//初始化
$sql = array();
// 从 a.php POST 过来的值
$_POST["xinxi"] = "20-2,19-1,18-1";
// 拆分为 array("20-2", "19-1", "18-1");
$post_data = explode(",", $_POST["xinxi"]);
// 循环数组
for($i = 0; $i count($post_data); $i++) {
// 再次拆分每一条信息为 array("20", "2"), array("19", "1"), array("18", "1")
$details = explode("-", $post_data[$i]);
// 将每一条信息添加到 $sql 数组中
array_push($sql, "(20121015194535193356, ".$details[0].", ".$details[1].")");
}
// 用 , 连接,转换为 string
$sql = implode(",", $sql);
// 插入数据库
mysql_query("INSERT INTO table_sales (dingid, detailsid, buynumber) VALUES ($sql)");