2010-12-14 8 views
1

私はMYSQLクエリエラー

$page_set = mysql_query("SELECT * FROM pages WHERE subject_id = 
      {$subject["id"]}", $connection); 

このクエリを使用しようとしているが、私は私のページを読み込むときに、このエラーを取得しておきます。

データベースクエリに失敗しました:SQL構文に エラーがあります。ライン1

+0

'$ subject ['id']'の 'var_dump'を投稿できますか? – Stephen

+0

私はそれを見つける方法がわかりません –

+0

'var_dump($ subject ['id']); ' – Stephen

答えて

3

複雑な構文なしでそれを試してみてください。ちなみに

$query = 'SELECT * FROM pages WHERE subject_id = ' . $subject['id']; 
$page_set = mysql_query($query, $connection); 

、私は、文字列変数解析を嫌う、および連結を好みます。

+1

あなたはその嫌われているステートメントにコメントをして欲しいと思っていますので、+1できます – zanlok

2

あなたが引用符の不一致を経験している時に「」近く 使用する権利構文については、ご使用のMySQL サーバのバージョンに対応し マニュアルを確認してください。配列キーの二重引用符を一重引用符で置き換えてみてください。

$page_set = mysql_query("SELECT * FROM pages WHERE subject_id = 
      {$subject['id']}", $connection); 
1
$sql = "SELECT * FROM pages WHERE subject_id = '".$subject["id"]."'"; 
$page_set = mysql_query($sql, $connection); 

subject_idもエスケープしてください。

+0

あなたは唯一の方法です1つは動作します。私はエラーはありませんが、どちらのページにも記載されていません –

+0

mysql_fetch_objectのようなものでループしていますか?多分それは空ですか? phpmyadminまたはmysql workbenchでクエリを実行することをお勧めする場合は、それらの環境でクエリを作成する方がはるかに簡単です。 – Keyo