-1

以下はMySqlクエリです:

$queryfilter = "SELECT * FROM tablename where sector = " .$_SESSION['idfilterdrop']. " AND 
region IN (SELECT region from 
    tablename where sector = " . $_SESSION['sector'] ." OR region = " . 
 $_SESSION['r1'] ." OR theme = " . $_SESSION['theme'] .")";

構文エラーを見つけるのを手伝ってください。上記のクエリには二重引用符の問題があると確信しています。このクエリを MySql プロンプトで実行すると正常に実行されますが、定数値を変数に置き換えると、このクエリは機能しません。

4

1 に答える 1

0

$_SESSION残念ながら、配列に整数または文字列が含まれているかどうかはわかりません。要素または文字列の場合はsector、次のように SQL で引用符で囲む必要があります。r1themeWHERE sector = '". $_SESSION['sector'] . "' OR

また、テーブルに名前を付けdatabaseても役に立ちません。私の記憶が正しければ、DATABASEは予約語なので、そのテーブル名をバックティックで囲む必要があります。

... FROM `database` ...
于 2013-03-30T20:32:18.873 に答える