2017-09-10 5 views
-2

私はこれを持っています$ search = mysqli_real_escape_string($ conn、$ _ POST ['search']); これをintに変換できるかどうかを知りたいので、SQLインジェクションを避けるための安全なオプションになります。int valueにmysqli_real_escape_stringを使用するには?

$ sql = "SELECT * FROM basket WHERE quantity = $ search";

**ここでの量は、厳密に言えば、(int)またはintval()で変数をキャストSQLインジェクションを引き起こし、その変数のリスクを取り除き、

+3

'(int)$ search'または' intval($ search) 'を使用してください。 – ShiraNai7

+0

ここに実装することができ、それはSQLインジェクションから安全でしょうか?私はこの$ search =(int)$ searchを持っていますが、何とか動作しますが、SQLインジェクションを避けるでしょうか? –

+0

です。また、https://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php – ShiraNai7

答えて

0

はいintです。

しかし、これはクエリパラメータを使用しないようにする理由がありません。

SQL文と結合するには、文字列と整数の両方の変数が必要です。タイプによっては、変数を安全にするさまざまな方法を使用するためにコードが複雑になります。すべての変数にクエリパラメータを使用するだけで、コードが簡単になります。

正しく入力してください。

関連する問題