0

私のPHPとmysqlコードには、次のような選択ボックスがあります。

<select id="addressbook_user" name ="addressbook_user">
<option value="hi">hi</option>
<option value="hello">hello</option>
<option value="newa">newa</option>

<select>

選択した値をjQueryリストに保存しており、そのリストをphpコードに渡して、リスト項目以外の他のオプションをフィルタリングしています。

$list = $_GET['list'];

print $list;
print_r($list);
$query = "SELECT *  from demo_addressbook WHERE user_created_id IN(SELECT id FROM demo_user WHERE user_name = '$get_user_name') AND type = 1 AND guest_name NOT IN '$list' ";                               
$sresult    = mysql_query($query) or die (mysql_error());

結果に基づいて、リストの値を選択せず​​に最新の選択ボックスを作成しようとしています。

残念ながら、上記のクエリは機能していません

hiYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'hi' at line 1 is the error .

mysql テーブルから配列データをフィルタリングする最良の方法を教えてください

4

2 に答える 2

0

以下の sql を変更してください。変数の値が見つからず、In ステートメントが必要なためです "columnName in('','')":

$query = "SELECT *  from demo_addressbook WHERE
 user_created_id IN(SELECT id FROM demo_user 
 WHERE user_name = '" . $get_user_name . "')
 AND (type = 1) AND guest_name NOT IN(". $list .") ";        
于 2012-11-05T09:35:58.363 に答える
0

で変数をラップしますparenthesis

NOT IN ('$list')
于 2012-11-05T09:30:03.247 に答える