これは非常に単純な問題のように思えますが、ばかげた頭痛の種です。
これが私のクエリです:SELECT * FROM table WHERE id IN ($list);
リストは次のとおりです。1,2,3,4,5,6
クエリを最初に実行すると、うまく機能し、要求された行が取得されます。次に、1 つの値を削除します。1,2,4,5,6
突然、クエリは何も取得しません。
エコー表示$list
_$list
1,2,4,5,6
私はと交換IN ($list)
しIN (1,2,4,5,6)
、それは完全に動作します。
私は何が欠けていますか?
1 つの値を削除するコードは次のとおりです。
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;
}