10

わかりやすくするために、なぜmysqli_real_escape_string読まなければならないのか誰でも説明できますか?

$query = mysqli_real_escape_string($conn,"SELECT * FROM tbl");

だけでなく:

$query = mysqli_real_escape_string("SELECT * FROM tbl");

助けてくれてありがとう!

4

1 に答える 1

10

文字セットエンコーディングのため。

がないと$connmysqli_real_escape_string()接続で使用されている文字エンコーディングを検出できず、一般的な危険な文字をやみくもにエスケープしようとします。

真の (エミュレートされていない) 準備済みステートメントは、接続ではなく列の文字エンコーディングを考慮に入れるため、さらに優れています (または、必要に応じてより安全です) 。

于 2013-10-15T15:08:59.427 に答える