这似乎是一个非常简单的问题,但它让我非常头疼。
这是我的查询:SELECT * FROM table WHERE id IN ($list);
可以说清单是:1,2,3,4,5,6
在第一次执行查询时,它工作得很好,检索请求的行。然后,我删除一个值:1,2,4,5,6
突然,查询什么也没得到。
我回显$list
并$list
显示1,2,4,5,6
我替换IN ($list)
为IN (1,2,4,5,6)
它,它工作得很好。
我错过了什么?
下面是删除一个值的代码:
function removeFromList($id, $list){
$ider = ','.$id.',';
if($list[strlen($list)-1] == ','){
if($list[0] != ','){
$list = ','.$list;
}
$list = str_replace($ider, ',', $list);
if($list[strlen($list)-1] == ','){
$list[strlen($list)-1] = '';
}
if($list[0] == ','){
$list[0] = '';
}
} else {
if($list[0] != ','){
$list = ','.$list;
}
$list = $list.',';
$list = str_replace($ider, ',', $list);
if($list[strlen($list)-1] == ','){
$list[strlen($list)-1] = '';
}
if($list[0] == ','){
$list[0] = '';
}
}
return $list;
}