Einfaches Anführungszeichen in SQLite-Abfrage mit Escapezeichen versehen
Beim Einfügen von Daten in eine SQLite-Datenbank ist es wichtig, Sonderzeichen wie einfache Anführungszeichen richtig zu maskieren, um Syntaxfehler zu vermeiden. Ein häufiges Problem besteht darin, dass einfache Anführungszeichen nicht korrekt maskiert werden können.
Zum Beispiel in Ihrer SQL-Abfrage:
<code class="language-sql">INSERT INTO table_name (field1, field2) VALUES (123, 'Hello there'\');</code>
Escape-Zeichen '' funktioniert nicht wie erwartet. Es entgeht dem einfachen Anführungszeichen nicht, fungiert aber als Sonderzeichen in SQL.
Die Problemumgehung besteht darin, die einfachen Anführungszeichen zu verdoppeln. SQLite erfordert wie viele andere Datenbanken die Verwendung von zwei aufeinanderfolgenden einfachen Anführungszeichen (''), um ein einzelnes Anführungszeichen in einer Zeichenfolge darzustellen. Daher sollte die korrekte Abfrage lauten:
<code class="language-sql">INSERT INTO table_name (field1, field2) VALUES (123, 'Hello there''s');</code>
Dadurch wird das einfache Anführungszeichen maskiert und korrekt in die Datenbank eingefügt.
Laut der SQLite-Dokumentation werden Zeichenfolgenkonstanten in einfache Anführungszeichen eingeschlossen, und einfache Anführungszeichen in einer Zeichenfolge können mit zwei aufeinanderfolgenden einfachen Anführungszeichen codiert werden. SQLite unterstützt keine Escapezeichen im C-Stil mit Backslash-Zeichen.
Das obige ist der detaillierte Inhalt vonWie entgeht man einfache Anführungszeichen in SQLite-INSERT-Anweisungen ordnungsgemäß?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!