我需要从逗号分隔形式的数据库中删除图像名称
我用下面的方法..
姓名在数据库中:31.jpg,31 copy.jpg,110 copy.jpg,110.jpg,110 copy-1.jpg,
爆炸后:
Array
(
[0] => 31.jpg
[1] => 31 copy.jpg
[2] => 110 copy.jpg
[3] => 110.jpg
[4] => 110 copy-1.jpg
[5] =>
)
用逗号删除img名称:110.jpg,
现在结果:31 copy.jpg,110 copy.jpg,110.jpg,110 copy-1.jpg,
但为什么结果会110.jpg
?
上述方法的代码。
<?php
require("include/config.inc.php");
$parent_img_id = 184;
$child_imgs_id = 1221;
$delimg = '110.jpg';
$getInfoChild_imgs = mysql_query("select * from parent where parent_img_id = '$parent_img_id' and child_imgs_id = '$child_imgs_id' and child_imgs like '%$delimg%'") or die(mysql_error());
if(mysql_num_rows($getInfoChild_imgs)>0){
$result = mysql_fetch_array($getInfoChild_imgs);
$child_imgs_name =$result['child_imgs'];
$child_imgs_name = explode(',', $child_imgs_name); // Explode into array
$deleteImgName = $delimg.',';
unset($child_imgs_name[ array_search($deleteImgName, $child_imgs_name) ]);
$child_imgs_name = implode(',',$child_imgs_name);
}
?>
答案 0 :(得分:4)
$deleteImgName
是110.jpg,
数组没有110.jpg,
。它有110.jpg
使用,
进行爆炸时,元素不包含任何逗号。
将$deleteImgName = $delimg.','
更改为$deleteImgName = $delimg;
,
答案 1 :(得分:1)
从删除图像变量中删除逗号。我没有检查,但是因为你爆炸了逗号,它们将从数组中消失
$deleteImgName = $delimg; #.',';
答案 2 :(得分:0)
您正在搜索$deleteImgName
,其中附加了一个“,”,它在爆炸字符串后不是数组条目的一部分。