ホームページ >データベース >mysql チュートリアル >アポストロフィを含む値を SQL データベースに挿入するにはどうすればよいですか?
SQL データベースに一重引用符を含む値を挿入します
一重引用符は SQL の文字列データの区切り文字として機能するため、一重引用符を含む値を SQL テーブルに挿入するのは難しい場合があります。
例:
次の SQL INSERT ステートメントを考えてみましょう:
<code class="language-sql">INSERT INTO Person (First, Last) VALUES ('Joe', 'O'Brien')</code>
「O」の後の一重引用符が値の終わりとして解釈されるため、このステートメントはエラーをスローします。
解決策: 一重引用符をエスケープします
一重引用符を含む値を挿入するには、一重引用符を二重にして文字をエスケープする必要があります。
<code class="language-sql">INSERT INTO Person (First, Last) VALUES ('Joe', 'O''Brien')</code>
この例では、「O」の後の一重引用符が別の一重引用符でエスケープされています。
SELECT クエリに適用されます
同じエスケープ規則が SELECT クエリにも適用されます。たとえば、「O'Brien」という姓の人を検索するには:
<code class="language-sql">SELECT First, Last FROM Person WHERE Last = 'O''Brien'</code>
技術的説明
一重引用符は文字列データの始まりと終わりを示すため、SQL の特殊文字です。文字列値の一部として一重引用符を使用するには、その特殊文字ステータスをエスケープする必要があります。これは通常、文字を 2 倍にすることで行われます。
メモ
特殊文字が含まれる可能性のあるデータを扱う場合、データベースに挿入する前にこれらの文字をエスケープすることをお勧めします。これは、SQL インジェクション攻撃やその他の脆弱性の防止に役立ちます。コードでは、フレームワークとツールがこれを処理する必要があります。
以上がアポストロフィを含む値を SQL データベースに挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。