首頁 >後端開發 >php教程 >怎么把一个数组合适的插入到数据库

怎么把一个数组合适的插入到数据库

WBOY
WBOY原創
2016-06-13 10:23:57892瀏覽

如何把一个数组合适的插入到数据库?
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


------解决方案--------------------
在数据库中定义:

SQL code
data varchar(100) not null<br><font color="#e78608">------解决方案--------------------</font><br>
PHP code
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>
PHP code
$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>
探讨

无论如何,请使用addslashes之后入库,没有人知道用户提交的到底是什么。

上面的json_encode,serialize,之后都要addslashes,避免引号或者用户恶意注入带来的不必要的麻烦,出库时候strip_slashes。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn