-1

これは非常に単純な問題のように思えますが、ばかげた頭痛の種です。

これが私のクエリです:SELECT * FROM table WHERE id IN ($list);

リストは次のとおりです。1,2,3,4,5,6

クエリを最初に実行すると、うまく機能し、要求された行が取得されます。次に、1 つの値を削除します。1,2,4,5,6

突然、クエリは何も取得しません。

エコー表示$list_$list1,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;
}
4

2 に答える 2

0
What happens if you change your query to this
 SELECT * FROM table WHERE id IN ('$list');
于 2013-07-17T22:44:36.287 に答える