Heim > Datenbank > MySQL-Tutorial > Wie fügt man einfache Anführungszeichen sicher in eine PostgreSQL-Datenbank ein?

Wie fügt man einfache Anführungszeichen sicher in eine PostgreSQL-Datenbank ein?

Linda Hamilton
Freigeben: 2025-01-23 14:27:11
Original
945 Leute haben es durchsucht

How to Safely Insert Single Quotes into a PostgreSQL Database?

Text mit einfachen Anführungszeichen in die PostgreSQL-Datenbank einfügen

Das Einfügen von Text mit einfachen Anführungszeichen in eine PostgreSQL-Tabelle erfordert eine besondere Behandlung, um Syntaxfehler zu vermeiden.

Escape einfache Anführungszeichen

Beim standardmäßigen SQL-Escape werden einfache Anführungszeichen verdoppelt, z. B. „Benutzerprotokoll“. PostgreSQL unterstützt auch die Verwendung von Backslash-Escapezeichen, z. B. E'user's log'. Im Allgemeinen wird jedoch empfohlen, die standardmäßige Escape-Methode für doppelte Anführungszeichen zu verwenden.

Wenn Sie mehrere Ebenen von Escapezeichen oder verschachtelten Anführungszeichen verarbeiten müssen, können Sie Dollarzeichen verwenden, um die Zeichenfolge in Anführungszeichen zu setzen. Zum Beispiel $$escape ' mit ''$$ oder $token$escape ' mit ''$token$.

Wert vorbereiten

Beim Einfügen von Werten, die einfache Anführungszeichen enthalten, in die Datenbank müssen diese korrekt in Anführungszeichen gesetzt werden, um Fehler zu vermeiden. PostgreSQL stellt hierfür mehrere Funktionen zur Verfügung:

  • quote_literal(): Einfache Anführungszeichen in einer Zeichenfolge maskieren und den in Anführungszeichen gesetzten Wert zurückgeben.
  • quote_nullable(): Ähnlich wie quote_literal(), gibt aber bei leerer Eingabe NULL aus.
  • format(): Verwenden Sie den Formatbezeichner %L, um Anführungszeichen entsprechend quote_nullable() anzuwenden.

Vermeiden Sie die Verwendung von Verbindungen

Es wird nicht empfohlen, Funktionen wie concat() und concat_ws() zu verwenden, um einfache Anführungszeichen zu maskieren, da sie verschachtelte Anführungszeichen oder Backslashes nicht maskieren.

Beispiel

Um die erforderlichen Werte in die Tabelle test einzufügen:

<code class="language-sql">insert into test values (1, quote_literal('user''s log'));
insert into test values (2, quote_literal('my user''s'));
insert into test values (3, quote_literal('customer''s'));</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie fügt man einfache Anführungszeichen sicher in eine PostgreSQL-Datenbank ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage