「Kellogg's」のような会社名など、アポストロフィ (一重引用符) を含む INSERT クエリを実行すると、ユーザーは構文に遭遇する可能性があります。エラー。この問題は、SQL のアポストロフィの特殊な解釈が原因で発生します。
この問題を解決するには、データ内のアポストロフィをバックスラッシュ () でエスケープする必要があります。アポストロフィをエスケープすると、SQL インタープリタはそれを構文の区切り文字としてではなく文字列内の文字として扱います。
例:
Kellogg's will become Kellogg\'s
もう 1 つの効果的な解決策これは、アポストロフィを含む特殊文字のエスケープを自動的に処理する mysql_real_escape_string() 関数を使用することです。この手法を使用する関数の例を次に示します。
function insert($database, $table, $data_array) { foreach ($data_array as $key => $value) { $tmp_dat[] = "'" . mysql_real_escape_string($value) . "'"; } $data = join(',', $tmp_dat); $sql = 'INSERT INTO ' . $table . ' VALUES('. $data.')'; $result = mysql_query($sql); }
これらのメソッドを組み込むことにより、アポストロフィを含むデータを MySQL データベースに正常に挿入でき、挿入中に発生する構文エラーが解決されます。
以上が構文エラーを発生させずにアポストロフィを含むデータを MySQL に挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。