ホームページ > バックエンド開発 > PHPチュートリアル > PHP で MySQL を挿入する際に一重引用符を適切にエスケープする方法は?

PHP で MySQL を挿入する際に一重引用符を適切にエスケープする方法は?

Patricia Arquette
リリース: 2024-11-02 13:40:29
オリジナル
864 人が閲覧しました

How to Properly Escape Single Quotes for MySQL Insertion in PHP?

MySQL 挿入のための PHP での一重引用符のエスケープ

PHP から MySQL データベースにデータを挿入する場合、一重引用符のような特殊文字によりエラーが発生する可能性があります。これを防ぐには、クエリに文字を挿入する前にこれらの文字をエスケープすることが重要です。

質問で説明されている問題は、データの収集方法と挿入方法が元に応じて異なるために発生します。クエリ 1 は送信されたフォームからデータを直接収集しますが、エスケープされていない一重引用符が含まれる可能性があります。ただし、クエリ 2 では、最初にデータベースからデータが抽出されます。ここでは、magic_quotes_gpc が有効になっている場合には一重引用符がすでにエスケープされている可能性があります。

解決策は、mysql_real_escape_string() を使用して両方のクエリで一貫して一重引用符をエスケープすることです。この関数は、特殊文字をエスケープし、一重引用符がデータ内に出現する場合でも、一重引用符を適切に処理できるようにします。

例:

<code class="php">$escaped_name = mysql_real_escape_string($name);
$query = mysql_query("INSERT INTO message_log (order_id, timestamp, message_type, email_from, supplier_id, primary_contact, secondary_contact, subject, message_content, status) VALUES ('$order_id', '" . date('Y-m-d H:i:s', time()) . "', '$email', '$from', '$row->supplier_id', '$row->primary_email' ,' $row->secondary_email', '$subject', '$escaped_name', '1')");</code>
ログイン後にコピー

データを MySQL に挿入する前に、PHP で一貫して一重引用符をエスケープすることで、を使用すると、潜在的なエラーを防止し、正確なデータ処理を保証できます。

以上がPHP で MySQL を挿入する際に一重引用符を適切にエスケープする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート