重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
?php
创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于成都网站制作、成都做网站、巴林右旗网络推广、小程序设计、巴林右旗网络营销、巴林右旗企业策划、巴林右旗品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供巴林右旗建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
$arr = array(
0 = 1100,
1 = '天津市',
2 = 2210,
3 = '沈阳市'
);
$sql = '';
foreach ($arr as $k = $v) {
if ($k % 2 == 0) {
$no = $v;
continue;
} else {
$city = $v;
}
echo "INSERT INTO tablename (no, city) VALUES ($no, $city)";
}
?
结果:
INSERT INTO tablename (no, city) VALUES (1100, 天津市)
INSERT INTO tablename (no, city) VALUES (2210, 沈阳市)
sql语句已经输出的,你query下就行,按照自己的数据套吧.
上面那个回答运行不怎么对
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)");
if ($strleng100){
//如果大于100条就每次写入100,休息1秒,然后继续写,直到写完为止
$write_count = floor($strleng/100);
while ($write_count 0){
for ($i=0;$i100;$i++){
echo "INSERT INTO tbl_name (a,b,c) VALUES(1,2,3)";//写100次就休息
}
//echo "INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);";这样可以一次插入多条数据,效率更高
//参考
$write_count -=1 ;
sleep(1);
echo '休息1秒';
}
}
把数组转成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); //数据库读取转换
?