私はmysql_real_escape_stringについて簡単に質問しています。どこで使うべきですか?mysql_real_escape_stringはどこで実行すればよいですか?
私は自分自身にリダイレクトするフォームの* .phpファイルを持っていますが、そのファイルにはクラスが追加されたファイルが使用されています(Add(params))。
投稿時に文字列をエスケープする必要がありますか?
$catName = mysql_real_escape_string($_POST['edtCatAddName']);
また、クラス内で文字列をエスケープする必要がありますか?
$catName = mysql_real_escape_string($catName);
おそらく、これらの状況が両方とも間違っていて、何か別の処理を行う必要がありますか?私はこの
$query = mysql_real_escape_string("INSERT INTO cat (catName, catDescr, catImg, catSubLevel, catSubID) VALUES ('$catName', '$catDescr', '$catImgURL', $catSubLevel, $catSubID)");
のようなちょうど私のクエリを脱出しようとしました。しかしこの方法は、私のクエリはcatNameので、行くことはありませんし、他のいくつかの変数は文字列型であるため、それがあまりにも良いではないと私は前と後に 'を追加する必要がありますそれらの文字はエスケープされます。
アドバイスはありますか?私はこれに非常に新しいです...私は、PDOを使用している場合
は、だから私がしなければならないすべては
$STH = $DBH->prepare("my raw, not escaped query");
$STH->execute();
であると私は安心することができますか?
Re:「PDOを使用すれば、私がしなければならないのは '$ STH ...'であり、私は安全に感じることができますか? - 今、私はあなたに有効な例を提示せずにPDOを使用するようにアドバイスしたすべての人を-1にしたい。あなたは誤った準備のステートメントの完全な例です。 – Mchl