重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
用foreach然后再构造sql插入语句:
网站设计制作过程拒绝使用模板建站;使用PHP+MYSQL原生开发可交付网站源代码;符合网站优化排名的后台管理系统;成都网站制作、成都网站建设、外贸营销网站建设收费合理;免费进行网站备案等企业网站建设一条龙服务.我们是一家持续稳定运营了十年的成都创新互联网站建设公司。
$arr = ......;//这个是你要插入的数组
foreach( $arr as $info )
{
$sql = "insert into users set username= '" . $info['username'] . "',password = '" . $info['password'] . "' email ='" . $info['email'] . "'";
//这里是插入数据库的语句
}
首先,你数据库用的是什么?用什么连接的数据库?
如果用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)
为什么要主键是i?主键是i那你就无法存一张表中了,得分两张表,一张表存i,另一张存时机内容,len-1映射到你的i表。其实不一定要主键i,你存一张表,有个字段是i就行,然后你可以通过i一次检索出i的子数组
json_encode后就是字符串了。
所以不需要什么特别处理,直接入库就可以。
只不过出库后需要json_decode。
你的问题是,出库后没有对json_encode的字段进行json_decode处理。
例如
$result = array('a'='jsonencode后的字符串');
print_r(json_decode($result['a']));
可以按照 ly4885806 的方法 序列化成字符串插入数据库,不过这个只能插入一个字段不循环
如果你的数据是需要插入多个行和字段的话只能循环了
$Array = Array ( [0] = Array ( [0] = 张三 [1] = 70 ) [1] = Array ( [0] = 李四 [1] = 80 ) [2] = Array ( [0] = 王五 [1] = 90 )
?
$in_value_arr = array();
foreach($Array as $key=$value){
foreach($value as $k=$v){
$in_value_arr[]="(**,**,**)";
}
$in_value = '('.implode('),(', $in_value_arr).')';
$sql = "INSERT INTO tbl_name (col1,col2) VALUES{$in_value};";
}
?
?php
$array = [1,2,3,4,5];
//序列化
$insert = serialize($array);
//SQL操作
...
//取出来的数据再反序列化
$data = unserialize($fetch);
?