Способ вставки текста с апострофом в таблицу SQL - PullRequest
25 голосов
/ 01 декабря 2011

Когда я пытался выполнить следующую команду SQL, я получил ошибку sql.

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

, где не содержится апостроф.

Какой способ вставки текста имеет '(апостроф) в таблицу SQL.

Ответы [ 7 ]

62 голосов
/ 01 декабря 2011

В SQL способ сделать это - удвоить апостроф:

'he doesn''t work for me'

Если вы делаете это программно, вам следует использовать API, который принимает параметры и экранирует их для вас, например, подготовленные операторы или аналогичные, а не экранировать и использовать конкатенацию строк для сборки запроса.

8 голосов
/ 01 декабря 2011
INSERT INTO exampleTbl VALUES('he doesn''t work for me')

Если вы добавляете запись через ASP.NET, вы можете использовать объект SqlParameter для передачи значений, чтобы вам не приходилось беспокоиться об апострофах, которые вводят пользователи.

3 голосов
/ 01 декабря 2011

попробуйте

INSERT INTO exampleTbl VALUES('he doesn''t work for me')
1 голос
/ 08 марта 2015
$value = "he doesn't work for me";

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

INSERT INTO exampleTbl (`column`) VALUES('$new_value')
0 голосов
/ 24 декабря 2015
insert into table1 values("sunil''s book",123,99382932938);

используйте двойной апостроф внутри одного апострофа, это будет работать

0 голосов
/ 31 июля 2014

да, сервер sql не позволяет вставлять одинарные кавычки в поле таблицы из-за атаки SQL-инъекцией. поэтому мы должны заменить один апостроф на двойной при сохранении.

(он не работает для меня) должно быть => (он не работает для меня)

0 голосов
/ 01 декабря 2011

вы можете использовать обратную косую черту '\', если хотите отобразить в тексте одинарную кавычку.

INSERT INTO exampleTbl VALUES ('Он не (\') t ');

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...