Heim >Backend-Entwicklung >PHP-Tutorial > 怎么把一个数组合适的插入到数据库
如何把一个数组合适的插入到数据库?
html代码:
图片1
图片2
图片3
php代码:
//图片附件区
$attachment = $this->var['gp_attachment'];
foreach($attachment as $value){
p($value);
//把值保存到数据库
}
数组格式
Array
(
[0] => 1.jgp
[1] => 2.jpg
)
php: 5.3.10
------解决方案--------------------
在数据库中定义:
data varchar(100) not null <br><font color="#e78608">------解决方案--------------------</font><br>
foreach($attachment as $v) mysql_query("insert..........."); //不知道你的字段,只能这么写了. <br><font color="#e78608">------解决方案--------------------</font><br>把数组的值取出来存到库中,用特殊字符隔开,需要用的时候取出来再处理 <br><font color="#e78608">------解决方案--------------------</font><br>比较支持3楼的建议 <br><font color="#e78608">------解决方案--------------------</font><br>存储时候:<br>$date = "1.jgp/1.jgp";<br>用到时候: <br>list($one, $two) = split ('[/.-]', $date); <br>echo "one: $one;two: $two<br>\n";<br> <br><font color="#e78608">------解决方案--------------------</font><br>第一,你觉得你是字符数组,还是数字数组,如果用数字数组,用foreach($attachment as $v)<br><br>、、<br>第二,是字符数组,就用三楼的,把字符隔开,,一起存入数据库。 <br><font color="#e78608">------解决方案--------------------</font><br>所有附件应该都属于一个主题 而且也不需要经常修改,一个字段搞定.需要的时候还原一下<br><br>
$arr=array('1.jpg','2.jpg','3.jpg'); $value=serialize($arr); <br><font color="#e78608">------解决方案--------------------</font><br>无论如何,请使用addslashes之后入库,没有人知道用户提交的到底是什么。<br><br>上面的json_encode,serialize,之后都要addslashes,避免引号或者用户恶意注入带来的不必要的麻烦,出库时候strip_slashes。<br> <br><font color="#e78608">------解决方案--------------------</font><br>序列化 <br><font color="#e78608">------解决方案--------------------</font><br>