いいえ、自分で値をエスケープする必要はありません(つまり、mysqli_real_escape_string
を呼び出す必要はありません ) 、プリペアドステートメントを使用している場合:DBエンジンがそれを自動的に実行します。
(実際、mysql_real_escape_string
を呼び出している場合 バインドされたパラメータを使用すると、文字列が2回エスケープされます。これは素晴らしいことではありません。結局、どこでも文字をエスケープすることになります...)
補足として:値は整数として渡されます('ii'
で示されます) ) 、したがって、mysql_real_escape_string
を呼び出す必要はありません。 、プリペアドステートメントを使用していなくても:その名前が示すように、この関数は...文字列をエスケープするために使用されます。
整数の場合、私は通常、 intval
を使用します。
SQLクエリに挿入するデータが実際に整数であることを確認するため。
(ただし、準備されたクエリを使用しているので、もう一度、そのようなエスケープを行う必要はありません)