php把数组写入mysql的方法

php把数组写入mysql的方法,第1张

您好,您可以参考如下代码:

<?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 = "INSERT INTO `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的原因是为了方便提问者理解。如果代码仍有不足或不明白的地方,请您继续追问,直到给您一个满意的答复为止~

把数组转成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的话,使用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的回答,有改动)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9672341.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存