Vinzenz Mai: Anführungszeichen in Queries

Beitrag lesen

Hallo,

Wieso liefert mir die Verwendung des Queries
$suche="SELECT '007_vorname' FROM '007_test'";

das SQL-Statement

SELECT '007_vorname' FROM '007_test'

ist in allen mir bekannten SQL-Dialekten fehlerhaft, wie dedlfix bereits ausgeführt hat.

$suche='SELECT 007_vornameFROM007_test';

SELECT 007_vornameFROM007_test``

ist hingegen im SQL-Dialekt von MySQL ein korrektes Statement. Bei Nichtexistenz der Tabelle 007_test oder Nichtexistenz der Spalte 007_vorname gibt es natürlich ebenfalls eine Fehlermeldung. Wie Bezeichner in MySQL behandelt werden können, steht im entsprechenden Handbuchkapitel (hier in der Version 5.1).

Beispiele für erlaubte Schreibweisen findest Du übrigens in diesem Archivbeitrag.

Nachdem Du PHP angewiesen hast, ein SQL-Statement an MySQL zu schicken, solltest Du als erstes überprüfen, ob MySQL dieses Statement erfolgreich ausführen konnte. Falls MySQL dieses Statement nicht erfolgreich ausführen konnte, kannst Du die zugehörige Fehlermeldung erfragen. Wie das genau geht, hängt von der von Dir verwendeten Datenbankerweiterung von PHP ab: mysql_*, mysqli oder PDO.

Freundliche Grüße

Vinzenz