SQLite löst einen Syntaxfehler aus, wenn eine INSERT-Anweisung innerhalb eines Zeichenfolgenwerts ausgeführt wird, der einfache Anführungszeichen enthält. Das Umgehen einfacher Anführungszeichen mit einem Backslash (') oder einem doppelten Backslash (') löst dieses Problem nicht.
Um einfache Anführungszeichen in SQLite-Abfragen zu maskieren, verdoppeln Sie die einfachen Anführungszeichen im Zeichenfolgenwert:
<code class="language-sql">INSERT INTO table_name (field1, field2) VALUES (123, 'Hello there''s');</code>
Das liegt daran, dass SQLite einfache Anführungszeichen als Trennzeichen für String-Literale erwartet, und dies wird in der Dokumentation klar angegeben:
<code>字符串常量是用单引号 (') 括起来的字符串。字符串中的单引号可以通过连续使用两个单引号来编码——就像在 Pascal 中一样。不支持使用反斜杠字符的 C 样式转义,因为它们不是标准 SQL。</code>
Das obige ist der detaillierte Inhalt vonWie entkomme ich einfache Anführungszeichen in SQLite-INSERT-Anweisungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!