2017-01-10 12 views
0
SELECT f_name, l_name, age, username, chat_id FROM Users WHERE 
age = 17 
AND gender='$gender1' OR gender='$gender2' 
AND chat_id <> '$chat_id' 
LIMIT 1 

こんにちは。年齢= 17SQLのオペレータの簡単な問題

+1

AND gender='$gender1' OR gender='$gender2' 

は "年齢= 17が動作していない" これが意味する動作していないのですか?あなたはエラーが発生しますか?予想外の結果?何? – HoneyBadger

+1

[Little Bobby](http://bobby-tables.com/)によると*** [あなたのスクリプトはSQLインジェクション攻撃の危険にさらされています。](http://stackoverflow.com/questions/60174/how-can- i-prevent-sql-in-php)***。 [PDO](http://php.net/manual/en/pdo.prepared-statements.php)と[MySQLi(英語)]の[prepared](http://en.wikipedia.org/wiki/Prepared_statement) ](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)、PDOの使用を検討してください。[とても簡単です](http://jayblanchard.net/demystifying_php_pdo.html)。 –

+0

私は予期せぬ結果を得て、最終結果で年齢は考慮されません –

答えて

0

変更何この

AND (gender='$gender1' OR gender='$gender2') 
+0

ありがとうございます。その作業は今すぐ –

+0

@SaadatEsmaeily括弧を追加するとクエリが「修正」されますが、Jay Blanchard氏のコメントを確認してください – Robert

+0

解決策の説明は今後の読者には役立ちます。 – showdev