2017-07-14 3 views
-4

の特定の部分を選択し、私は、このSQLクエリSQLデータ

$sql_ = "SELECT score FROM users WHERE username=$row['uid']"; 

を持つテーブルのユーザーがすべてのユーザーは、スコア値とユーザ名を持っています。 $row['uid']は以前のSQL文の変数ですが、このクエリではエラーが発生します。これを修正するにはどうすればよいでしょうか?

+0

あなたが取得しているエラーメッセージを投稿することができますか? –

+0

エラーは何ですか? PHP変数が評価された後に実行される実際のクエリは何ですか?準備された文をクエリパラメータとともに使用すると、問題が起こりそうになることに注意してください。もはやSQLインジェクションの脆弱性がなくなったという利点があります。 – David

+0

'username'が文字変数の場合は、おそらくあなたが使用している変数を引用する必要があります。 –

答えて

0

SQLインジェクション防止メカニズムを使用する必要があります。 決しては、そのようなクエリで生変数を使用しません。 PDOをご覧ください。 変数をバインドしてからクエリを実行する必要があります。

しかし、あなたが必要なもののためにとONLYテスト目的のために、あなたの変数を引用し、次の点を確認してください。

$sql_ = "SELECT score FROM users WHERE username = '" . $row['uid'] . "'";