web-dev-qa-db-fra.com

Manière d'insérer du texte ayant '(apostrophe) dans une table SQL

Pendant que j'essayais la commande SQL suivante, j'ai eu une erreur SQL.

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

où ne contient pas l'apostrophe.

Quel est le moyen d'insérer du texte ayant '(apostrophe) dans une table SQL?.

23
Hoque

Pour ce faire, vous devez doubler l'apostrophe:

'he doesn''t work for me'

Si vous faites cela par programme, vous devez utiliser une API qui accepte les paramètres et les échappe pour vous, comme des instructions préparées ou similaires, plutôt que l'échappement et l'utilisation de la concaténation de chaînes pour assembler une requête.

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

Si vous ajoutez un enregistrement via ASP.NET, vous pouvez utiliser l'objet SqlParameter pour transmettre des valeurs afin que vous n'ayez pas à vous soucier de l'apostrophe que les utilisateurs saisissent.

7
Ed B

essaye ça

INSERT INTO exampleTbl VALUES('he doesn''t work for me')
3
FosterZ
$value = "he doesn't work for me";

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

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