PHPでエラーをスローせずに、MySQLにアポストロフィを挿入するにはどうすればよいですか。MySQLからもそれらをエコーアウトする適切な方法は何でしょうか。
ありがとう
PHPとMySQLの両方を考慮する必要があります。フレームワークを使用している場合は、それも考慮する必要があります。
PHPに関する限り、文字列に含まれているものとは反対のスタイルの引用符を使用するか、次のように「エスケープ」する必要があります。
$string = 'this is not a problem; it\'s escaped.';
$string = "I don't need to escape";
MySQLに関しては、 mysql_real_escape_stringなどのエスケープ関数を使用する必要があります。
「プリペアドステートメント」と呼ばれるクエリでユーザー提供のデータを使用するためのより高度な手法があります。これは、ユーザー提供のパラメーターを使用して動的クエリを実現するための最も堅牢で安全な方法です。開始するには、ドキュメントのこのセクションを参照してください。
準備されたクエリを使用する必要があります。PDOが最適な場合があります。その場合、入力をエスケープすることを心配する必要はありません。
PHPでは、バックスラッシュを使用して使徒職をエスケープします。