$sql = 'insert into tablename(field1, field2, field3) values(val1, val2, val3), (val1, val2,val3)'
主要就是拼接values后面的内容,一个括号一条数据,拼接完执行数据库插入 *** 作就行了;
如果数据量很大,注意每次拼接的sql不要太长了,数据库执行的sql也是有长度限制的
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)")
PHP的话,使用foreach循环执行sql代码即可(可能运算量较大)
直接存数组中的字符串也可以。
如:
$a="0,1,2,3"//$a=join(",",array(0,1,2,3)) 这样也可以
mysql_query("INSERT INTO admin (monday) VALUES($a)")
这样字段monday的就是0,1,2,3
(后一种具体答案,摘自adebug的回答,有改动)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)