Échapper au guillemet simple dans la requête SQLite
Lors de l'insertion de données dans une base de données SQLite, il est crucial d'échapper correctement les caractères spéciaux tels que les guillemets simples pour éviter les erreurs de syntaxe. Un problème courant est que les guillemets simples ne peuvent pas être échappés correctement.
Par exemple, dans votre requête SQL :
<code class="language-sql">INSERT INTO table_name (field1, field2) VALUES (123, 'Hello there'\');</code>
Le caractère d'échappement '' ne fonctionne pas comme prévu. Il n'échappe pas au guillemet simple, mais agit comme un caractère spécial dans SQL.
La solution de contournement consiste à doubler les guillemets simples. SQLite, comme beaucoup d'autres bases de données, nécessite l'utilisation de deux guillemets simples consécutifs ('') pour représenter un guillemet simple dans une chaîne. Par conséquent, la requête correcte devrait être :
<code class="language-sql">INSERT INTO table_name (field1, field2) VALUES (123, 'Hello there''s');</code>
Cela échappera au guillemet simple et l'insérera correctement dans la base de données.
Selon la documentation SQLite, les constantes de chaîne sont placées entre guillemets simples et les guillemets simples dans une chaîne peuvent être codés à l'aide de deux guillemets simples consécutifs. SQLite ne prend pas en charge l'échappement de style C à l'aide de caractères barre oblique inverse.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!