Korrekte SQL-Abfrage mit PHP-Variable?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet
XentriX5526 
Fragesteller
 24.11.2019, 18:09

eeeeemmmm.... ok. aber die wäre denn trotzdem die richtige schreibweise? will gerade nicht alles ummodeln.

Ich lese per GET einen Wert aus der URL aus, dieser soll einen bestimmten Datensatz ansprechen, welchen ich dann auf einer Detail-Seite anzeigen lassen möchte.

0
regex9  24.11.2019, 18:36
@XentriX5526

Damit der Wert der Variable in einem String eingesetzt wird, müssen doppelte Anführungszeichen verwendet werden. Strings im SQL-Query werden mit einfachen Anführungszeichen umklammert.

Gerade für deinen Anwendungsfall solltest du auf Prepared Statements setzen, denn diese maskieren deinen String richtig und verhindern somit eine mögliche SQL Injection. Das, was du da umschreiben müsstest, sind vielleicht 3-5 Zeilen.

0

Bitte wegen der Sicherheit...

$sql = sprintf ( "SELECT * FROM tabelle WHERE id=%d", (int) $wert );

Oder gleich mit PreparedStatements/PDO....

Woher ich das weiß:Berufserfahrung

Habs: #Doppelte Gänsefüßchen.

$sql = "SELECT * FROM tabelle WHERE id = $wert";
Woher ich das weiß:eigene Erfahrung
$sql = 'SELECT * FROM tabelle WHERE ID = '. $wert . ';';
Woher ich das weiß:Hobby – Programmierer, EDV, ... seit den 80er :)
PeterP58  24.11.2019, 18:21

mich irritieren die einfachen anführungszeichen '
wieso nicht " ..? o_O

0