在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中是一個特殊字符,因為它表示字串資料的開始和結束。要將單引號用作字串值的一部分,需要轉義其特殊字元狀態。這通常是透過將字元加倍來完成。
注意事項
處理可能包含特殊字元的資料時,最好在將這些字元插入資料庫之前對其進行轉義。這有助於防止SQL注入攻擊和其他漏洞。在程式碼中,框架和工具應該為您處理此問題。
以上是如何將帶撇號的值插入 SQL 資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!