2016-10-06 8 views
-1

なぜmysql_real_escape_stringがMySQLiで動作しないのですか?mysql_real_escape_stringがMySQLiで動作しないのはなぜですか?

私はMySQLを使用するとき、私はこのコードを使用することができます。

$test = mysql_real_escape_string($_POST[test]); 

しかし、私はMySQLiを使用するように更新します。私は使用しようとしました

$test = mysql_real_escape_string($_POST[test]); 

しかし、動作しません。

mysql_real_escape_stringMySQLiでどうやって使うことができますか?

mysql_real_escape_stringMySQLiに使用できない場合、どのようにしてSQLインジェクションを保護できますか?

は今、私はそれがSQLインジェクションのために非常に悪いのです

$test = $_POST[test]; 

を使用しています。

+0

を使用する必要がありますあなたは今、代わりに' –

+0

をmysqli_real_escape_string'を使用し、私が使用することができます '$ db_mysqli-> real_escape_string($ _ POST [テスト])を使用するつもり? –

+0

パラメータ化されたクエリを使用します。彼らははるかに優れています。 – chris85

答えて

2

mysql_real_escape_stringはどうすればMySQLiに送信できますか?

回答:

OOPのアプローチ: $test = $conn -> real_escape_string($_POST['test']);

手続きのアプローチ:また、あなたはSQLインジェクションから保護することができますどのように求めている$test = mysqli_real_escape_string($conn,$_POST['test']);

回答: `; mysqli_*、あなたはparameterized queries

http://php.net/manual/en/mysqli.real-escape-string.php

関連する問題