$query=sprintf("SELECT COUNT(id) FROM users WHERE UPPER(username) = UPPER('%s')",
mysql_real_escape_string($name));
これは私の登録コードです。同じユーザー名がデータベースに既に存在するかどうかを確認し、大文字と小文字が異なる同じ名前 (ピザ、ピザ) を避けるために、すべてを大文字に変換します。2 つの質問があります。
1) sql インジェクションを防ぐために mysql_real_escape_string($name) を使用していますが、これで問題ありませんか? その関数で変数を使用できますか、または使用する必要があります$_POST['user']
か?
2) 正確には何sprintf()
ですか? なぜそれが必要なのですか、なぜそこ'%s'
にあるのですか?