2016-04-10 17 views
0

解決策を見つけようとしましたが見つかりませんでした。PHPのmysql_query()エラー "あなたのSQL構文に誤りがあります"

エラー:

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

問合せ:

$uQuery = mysql_query('SELECT * FROM `users` WHERE `user_id` = '.$_SESSION['user']) or die(mysql_error()); 
$userRow = mysql_fetch_array($uQuery); 

は誰もが私のコードで間違っているものを教えてくださいことはできますか?

+2

'$ _SESSION [ 'ユーザー']'の値が何であるべきか? mysql_real_escape_string($ _ SESSION ['user']) ' – Marcus

+1

問題は、' $ _SESSION ['user'] 'の周りにティックがないことです。あなたのクエリは '... \' user_id \ '= John'を与えますが、' ... \ 'user_id \' = 'John''でなければなりません。 – PerlDuck

+0

与えられたuser_idが '' John ''の場合、ステートメントが[劇的に失敗する](https://xkcd.com/327/)なので、プリペアドステートメント( '?'付きのステートメント)を使うことを検討してください。ドロップテーブルのユーザ; - '。 – PerlDuck

答えて

0

$ _SESSION ['user']の値を確認しましたか?

また、ページ上部にsession_start()を書きましたか?

あなたはそれをデバッグしたいかもしれません。試してみてください:

var_dump($_SESSION['user']); 

$uQuery = mysql_query("SELECT * FROM `users` WHERE `user_id` = '".$_SESSION['user']."' ") or die(mysql_error()); 

希望します。

+0

おかげでそれは助けます。 :) – Neznaju

+0

よろしくお願いします。あなたがそれに満足しているなら、答えを投票して受け入れてください。平和! :) –

-3

$_SESSION['user']$_SESSION[user]

+3

それはエラーを投げるでしょう。 – Marcus

関連する問題