MySQL Query - Frage zu Hochkomma und Anführungszeichen

Überkinger

Lieutenant
Registriert
Juli 2010
Beiträge
600
mysql_query=("UPDATE tabelle SET test='".$test"' WHERE numer ='1' " )

Ich hätte gerne gewusst, warum man nicht einfach die variable $test in das SET Statement schreibt, sondern in ein ' " . ." ' einbetten muss? Welchen Grund hat das, ' " .$variable." ' zu verwenden?
 
Es ist eine Frage des Stils, eine Einbettung via Konkatenation durchzuführen bei Zeichenketten in regulären Anführungszeichen. Bei einzelnen Anführungszeichen ist dies wiederum zwingend nötig. Ich hoffe du hast deine Variable auch escaped? Ansonsten:

$test = "'abc'; DELETE FROM tabelle; ";
 
DJND schrieb:
Es ist eine Frage des Stils, eine Einbettung via Konkatenation durchzuführen bei Zeichenketten in regulären Anführungszeichen. Bei einzelnen Anführungszeichen ist dies wiederum zwingend nötig. Ich hoffe du hast deine Variable auch escaped? Ansonsten:

$test = "'abc'; DELETE FROM tabelle; ";

In Produktivumgebungen escape ich, für eigene Codeschnippsel, die ich von der Shell aus ausführe, lasse ich se weg.
 
Wenn es sich hier um PHP handeln sollte:
Code:
mysql_query = "UPDATE tabelle SET test='{$test}' WHERE numer ='1' ";
Des Weiteren kann ich dazu dann noch die Verwendung von prepared Statements der PDO Bibliothek empfehlen. Keine Sorgen mehr wegen escapen oder Anführungszeichen.
 

Ähnliche Themen

Zurück
Oben