當我嘗試以下SQL命令時,出現sql錯誤。將具有'(撇號)的文本插入到SQL表中的方法
INSERT INTO exampleTbl VALUES('he doesn't work for me')
其中不包含撇號。
將具有'(撇號)的文本插入SQL表格的方法是什麼?
當我嘗試以下SQL命令時,出現sql錯誤。將具有'(撇號)的文本插入到SQL表中的方法
INSERT INTO exampleTbl VALUES('he doesn't work for me')
其中不包含撇號。
將具有'(撇號)的文本插入SQL表格的方法是什麼?
雙撇號:
'he doesn''t work for me'
試試這個
INSERT INTO exampleTbl VALUES('he doesn''t work for me')
INSERT INTO exampleTbl VALUES('he doesn''t work for me')
如果你通過ASP.NET添加記錄,您可以使用的SqlParameter對象的值傳遞,所以你不必擔心用戶輸入的撇號。
如果要顯示爲'\',則可以使用反斜槓'\'在你的文字中引用單引號。
INSERT INTO exampleTbl VALUES('He doesn(\')t');
在' – Hoque
反斜槓附近需要的開放括號是否不正確的方式來逃避SQL Server –
是的,由於SQL注入攻擊,sql服務器不允許在表字段中插入單引號。所以我們必須在保存時加倍替換單一的appostrophe。
(他不爲我工作)必須=>(他那並不爲我工作)
「SQL服務器不允許在表字段中插入單引號由於SQL注入攻擊」不是一個正確的理解。 –
$value = "he doesn't work for me";
$new_value = str_replace("'", "''", "$value"); // it looks like " ' " , " ' ' "
INSERT INTO exampleTbl (`column`) VALUES('$new_value')
這不是關於PHP,而是關於SQL的具體內容 – Bono
insert into table1 values("sunil''s book",123,99382932938);
使用雙撇號單引號內, 將工作
如果您是從程序後端執行此操作,請使用參數化查詢。您實際上看到在這裏發生SQL注入攻擊。 – Andrew