如何把一个数组合适的插入到数据库?

china_cctv 2012-05-18 02:36:49
html代码:


<input type="checkbox" name="attachment[]" value="1.jgp"/>图片1
<input type="checkbox" name="attachment[]" value="2.jpg"/>图片2
<input type="checkbox" name="attachment[]" value="3.jpg"/>图片3


php代码:
//图片附件区
$attachment = $this->var['gp_attachment'];

foreach($attachment as $value){
p($value);
//把值保存到数据库
}

数组格式
Array
(
[0] => 1.jgp
[1] => 2.jpg
)
php: 5.3.10
...全文
367 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq120848369 2012-05-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

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

上面的json_encode,serialize,之后都要addslashes,避免引号或者用户恶意注入带来的不必要的麻烦,出库时候strip_slashes。
[/Quote]

说错,出库不要stripslashes
ming0753 2012-05-19
  • 打赏
  • 举报
回复
序列化
qq120848369 2012-05-18
  • 打赏
  • 举报
回复
无论如何,请使用addslashes之后入库,没有人知道用户提交的到底是什么。

上面的json_encode,serialize,之后都要addslashes,避免引号或者用户恶意注入带来的不必要的麻烦,出库时候strip_slashes。
黄袍披身 2012-05-18
  • 打赏
  • 举报
回复
所有附件应该都属于一个主题 而且也不需要经常修改,一个字段搞定.需要的时候还原一下


$arr=array('1.jpg','2.jpg','3.jpg');
$value=serialize($arr);
zhangyong200807 2012-05-18
  • 打赏
  • 举报
回复
第一,你觉得你是字符数组,还是数字数组,如果用数字数组,用foreach($attachment as $v)

、、
第二,是字符数组,就用三楼的,把字符隔开,,一起存入数据库。
chanya 2012-05-18
  • 打赏
  • 举报
回复
存储时候:
$date = "1.jgp/1.jgp";
用到时候:
list($one, $two) = split ('[/.-]', $date);
echo "one: $one;two: $two<br />\n";
K-dash 2012-05-18
  • 打赏
  • 举报
回复
比较支持3楼的建议
小在在 2012-05-18
  • 打赏
  • 举报
回复
把数组的值取出来存到库中,用特殊字符隔开,需要用的时候取出来再处理
一起混吧 2012-05-18
  • 打赏
  • 举报
回复
foreach($attachment as $v)
mysql_query("insert..........."); //不知道你的字段,只能这么写了.
  • 打赏
  • 举报
回复
在数据库中定义:

data varchar(100) not null

将数组转换成json字符串存储:

$data = json_encode(array_values($_POST));
mysql_query("insert into table(data) value('".$data."')");

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧