2011-12-01 72 views

Trả lời

56

đúp dấu nháy đơn:

'he doesn''t work for me' 
+3

Sử dụng truy vấn được tham số hóa nếu bạn đang thực hiện việc này từ chương trình phụ trợ của chương trình. Bạn đang thực sự nhìn thấy một cuộc tấn công SQL Injection xảy ra ở đây. – Andrew

3

thử này

INSERT INTO exampleTbl VALUES('he doesn''t work for me') 
7
INSERT INTO exampleTbl VALUES('he doesn''t work for me') 

Nếu bạn đang thêm một kỷ lục qua ASP.NET, bạn có thể sử dụng đối tượng SqlParameter để vượt qua trong các giá trị, do đó bạn không phải lo lắng về dấu nháy đơn mà người dùng nhập.

-3

bạn có thể sử dụng dấu gạch chéo ngược '\' nếu bạn muốn hiển thị dưới dạng trích dẫn trong văn bản của bạn.

INSERT INTO exampleTbl GIÁ TRỊ ('Anh ấy không (\') t ');

+0

Dấu ngoặc mở cần thiết xung quanh \ ' – Hoque

+1

Dấu gạch chéo ngược không phải là cách đúng để thoát khỏi điều này trong SQL Server –

-2

có, máy chủ sql không cho phép chèn dấu nháy đơn trong trường bảng do tấn công tiêm sql. vì vậy chúng ta phải thay thế một dấu nháy đơn bằng cách nhân đôi khi lưu.

(ông không làm việc cho tôi) phải => (anh doesn''t công việc đối với tôi)

+4

"máy chủ sql không cho phép chèn dấu nháy đơn trong trường bảng do tấn công tiêm sql" không phải là một sự hiểu biết chính xác. –

0
$value = "he doesn't work for me"; 

$new_value = str_replace("'", "''", "$value"); // it looks like " ' " , " ' ' " 

INSERT INTO exampleTbl (`column`) VALUES('$new_value') 
+0

Đây không phải là về PHP, nhưng về SQL cụ thể – Bono

-1
insert into table1 values("sunil''s book",123,99382932938); 

sử dụng dấu nháy đơn kép bên trong dấu nháy đơn duy nhất, nó sẽ làm việc

Các vấn đề liên quan