jsonecho

SQL Escape

Plak je tekst en krijg hem geëscaped voor SQL, klaar om in code of gegevens te plakken.

De tool wordt geladen...

Zo gebruik je SQL Escape

  1. Plak of typ de tekst die je wilt escapen.
  2. Pas de opties aan als dat nodig is.
  3. Kopieer het geëscapete resultaat.

Over SQL Escape

De apostrof is het aanhalingsteken voor SQL-strings, dus een naam als O'Brien beëindigt de string te vroeg en breekt het statement. In standaard SQL is de oplossing het te verdubbelen: 'O''Brien'. MySQL accepteert ook een backslash.

Vooraf een waarschuwing. Met de hand escapen is prima voor een eenmalig script of een migratie, maar gebruik voor applicatiecode geparametriseerde query's. Dat is de enige betrouwbare bescherming tegen SQL-injectie.

Wat wordt geëscaped

Standaard SQL: een enkel aanhalingsteken wordt twee enkele aanhalingstekens. MySQL-stijl: backslash, enkele en dubbele aanhalingstekens, NUL, regeleinden en Ctrl+Z krijgen een backslash.

Veelgestelde vragen

Is escapen genoeg om SQL-injectie te stoppen?

Nee. Gebruik prepared statements met gebonden parameters. Handmatig escapen gaat makkelijk fout, vooral met tekensets en verschillende SQL-modi.

Welk dialect moet ik kiezen?

Standaard verdubbelen werkt in PostgreSQL, SQL Server, SQLite en Oracle, en in MySQL tenzij NO_BACKSLASH_ESCAPES is ingesteld. De MySQL-stijl is voor tekst die in MySQL wordt uitgevoerd, waar backslashes escape-tekens zijn.

Waarom negeert PostgreSQL mijn backslashes?

Standaard behandelt PostgreSQL backslashes in normale strings als gewone tekens. Gebruik de standaardstijl, of een E'...'-string als je backslash-escapes wilt.

Wat met LIKE-patronen?

Procent en underscore zijn jokertekens in LIKE en hebben een eigen escape-teken nodig, dat deze tool niet toevoegt.

Meer in Escapen en tekst

Alle tools →