
正文
php插入数组到数据库 php数组添加元素
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
PHP如何将下面数组遍历,插入数据库
有两个方法可供选择,一种是把数据存入csv文件,然后执行load data infile
还有一种就是类似于sql server里面的bulk insert,使用insert语句插入批量数据,结合PHP的implode函数,
可以很简单的实现大批量数组数据的一次性插入。
[php] view plaincopy
$statement = "INSERT INTO table (title, type, customer) VALUES ";
foreach( $data as $row) {
$statement .= ' ("' . implode($row, '","') . '")';
}
不过大批量数据的插入,需要注意mysql在内存上有限制:
bulk_insert_buffer_size变量的默认大小为8M, 是指单个线程占用的大小限制,设置为0,表示不做限制。
相关问答
Q1: php 多个 数组 怎样存入数据库
订单提交后php插入数组到数据库:
$_POST['list'] 的值会是php插入数组到数据库:
array(a,b,c,d,e,a,b,a,b,c,d);
根本就没有使用价值,即无法分清楚是这些选项是属于哪个名称的。所以,要么用js先在提交之前加工一个“list”的值,或者改交下list的名称,如下:
input type="checkbox" name="list[]" value="a" /
改为:
input type="checkbox" name="list_sina[]" value="a" /
其他的按些修改。
在提交之后的处理代码如下:
$title = isset($_POST['title']) ? $_POST['title'] : array();
$insert_data = array();
foreach($title as $row){
$name = trim($row);
$list = isset($_POST['list_'.$name]) ? implode(',',$_POST['list_'.$name]) : '';
$insert_data[] = "('$name','$list')";
}
if(!empty($insert_data)) $mysql-query('INSERT INTO mysql_table(name,list)VALUES '.implode(',',$insert_data));
这样的数据库查询语句为:
INSERT INTO mysql_table(name,list)VALUES ('sina','a,b,c,d,e'),('qq','a,b'),('ifeng','a,b,c,d')
Q2: PHP中如何把一个数组中的数据取出来并插入到数据库中
没用框架就直接拼接sql语句啊
$sql = 'insert into tablename(field1, field2, field3) values(val1, val2, val3), (val1, val2,val3)';
主要就是拼接values后面的内容,一个括号一条数据,拼接完执行数据库插入操作就行了;
如果数据量很大,注意每次拼接的sql不要太长了,数据库执行的sql也是有长度限制的
Q3: php怎么操作才能把这个二维数组加进数据库里面
可以按照 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};";
}
?
Q4: php数组插入数据库这个功能该怎么实现
把数组转成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); //数据库读取转换
?
关于php插入数组到数据库和php数组添加元素的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






