php把数组存入数据库
PHP的话,使用foreach循环执行sql代码即可(可能运算量较大)
直接存数组中的字符串也可以。
如:
$a="0,1,2,3";
//$a=join(",",array(0,1,2,3));这样也可以
mysql_query("INSERTINTOadmin(monday)VALUES($a)");
这样字段monday的就是0,1,2,3
(后一种具体答案,摘自adebug的回答,有改动)
⑵ 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 数组存入数据库
直接存数组里的字符串就行了。
如$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,
读取的时候要重新组成数组的话就分割重组。
⑷ php 怎么把数组添加到数据库中的啊!!!!这是phpcmsv9的 求解释啊
array2string函数 是phpcms自带的函数
/phpcms/libs/functions/global.func.php 第293行
/**
* 将数组转换为字符串
*
* @param array $data 数组
* @param bool $isformdata 如果为0,则不使用new_stripslashes处理,可选参数,默认为1
* @return string 返回字符串,如果,data为空,则返回空
*/
function array2string($data, $isformdata = 1) {
if ($data == '')
return '';
if ($isformdata)
$data = new_stripslashes($data);
return addslashes(var_export($data, TRUE));
}
⑸ PHP 添加数组 到数据库
$num=count($ICNo);
for($i=0;$i<$num;$i++){
mysql_query("insert into dota(ICNo,A_Name,A_ContNo) values('$ICNo[$i]','$A_Name[$i]','A_ContNo')",$conn[$i]);
}
⑹ php 多个 数组 怎样存入数据库
订单提交后:
$_POST['list'] 的值会是:
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($titleas$row){
$name=trim($row);
$list=isset($_POST['list_'.$name])?implode(',',$_POST['list_'.$name]):'';
$insert_data[]="('$name','$list')";
}
if(!empty($insert_data))$mysql->query('INSERTINTOmysql_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')
⑺ PHP如何将下面数组遍历,插入数据库
有两个方法可供选择,一种是把数据存入csv文件,然后执行load data infile
还有一种就是类似于sql server里面的bulk insert,使用insert语句插入批量数据,结合PHP的implode函数,
可以很简单的实现大批量数组数据的一次性插入。
[php] view plain
$statement = "INSERT INTO table (title, type, customer) VALUES ";
foreach( $data as $row) {
$statement .= ' ("' . implode($row, '","') . '")';
}
不过大批量数据的插入,需要注意mysql在内存上有限制:
http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_bulk_insert_buffer_size
bulk_insert_buffer_size变量的默认大小为8M, 是指单个线程占用的大小限制,设置为0,表示不做限制。
⑻ php怎么操作才能把这个二维数组加进数据库里面
可以按照ly4885806的方法序列化成字符串插入数据库,不过这个只能插入一个字段不循环
如果你的数据是需要插入多个行和字段的话只能循环了
$Array=Array([0]=>Array([0]=>张三[1]=>70)[1]=>Array([0]=>李四[1]=>80)[2]=>Array([0]=>王五[1]=>90)
<?
$in_value_arr=array();
foreach($Arrayas$key=>$value){
foreach($valueas$k=>$v){
$in_value_arr[]="(**,**,**)";
}
$in_value='('.implode('),(',$in_value_arr).')';
$sql="INSERTINTOtbl_name(col1,col2)VALUES{$in_value};";
}
?>
⑼ PHP中如何将数组插入Mysql数据库
数组是没有办法插入mysql数据库的,一般是把数组连接成字符串,存入,取出再拆分为数组输出。implode('连接符号',数组$arr);explode('拆分标志',字符串$a);
⑽ php把数组写入mysql的方法
您好,您可以参考如下代码:
<?php
/*获取HTML表单提交的数据*/
$id=_POST["id"];
$catid=_POST["catid"];
$ly=array("data***");
/*连接数据库,如果出错显示消息结束程序,否则继续执行数据库命令*/
$con=mysql_connect("127.0.0.1","user","password");
if($con==false)
{
echo"错误:系统数据库连接失败!错误信息:".mysql_error($con);
exit();
}else{
/*选择需要操作数据库*/
mysql_select_db("mydb",$con);
/*根据ly数组的长度决定执行多少次SQL语句*/
for($i=0;$i<count($ly);$i++)
{
/*设置SQL查询语句*/
$sql="INSERTINTO`biaoge`VALUES('{$id}','{$catid}',".$ly[$i].")";
/*如果SQL语句执行失败,返回错误代码;*/
if(mysql_query($sql,$con)==false)
{
echo"数据库查询出错!错误代码:".mysql_errno($con);
mysql_close($con);
exit();
}
}
mysql_close($con);
echo"记录添加成功!";
}
?>
至于遍历数组,有很多种方式,如楼上用的foreach语句也是可以的。这里用for的原因是为了方便提问者理解。如果代码仍有不足或不明白的地方,请您继续追问,直到给您一个满意的答复为止~