PHP Variablen in MySQL Query
David L.
- php
Hallo Selfhtml Community.
Ich will eine Formulareingabe in PHP auswerten, und die Daten in einem MySQL Query an die Datenbank schicken. Mein Problem liegt dabei, Variablen in den Query einzubinden. Ich habe es jetzt so:
$sql1 = "SELECT
param
FROM
codedb
WHERE ID=".$_POST['deletedbe'];
Ich habe am Ende schon mit verschiedenen Anführungszeichen etc. rumgetestet, aber immer bekomme ich in der Zeile mit der Variable einen Error. Das liegt NICHT daran, dass die Variable nicht existiert, denn andere MySQL Queries funktionieren so auch nicht. Was mache ich falsch? Wie muss man PHP Variablen in Queries einbinden?
Ich hoffe auf schnelle Antwort.
MfG David L.
Hallo David,
Was gibt den einen fehler? php? mySQL? Der Code sieht auf den ersten Blick ok aus.
Was gibt denn echo $_POST['deletedbe'] aus?
Hast du spasseshalber mal alles in eine Zeile geschrieben?
Ich hoffe mal, Du hast den Code hier nur zur Veranschaulichung so geschrieben und benutzt NICHT wirklich den Wert direkt aus dem POST in einem Query? Das hat mit Deinem thema nichts zu tun ist aber eine riesen Sicherheitluecke.
Hi!
$sql1 = "SELECT
param
FROM
codedb
WHERE ID=".$_POST['deletedbe'];
Im Prinzip funktioniert es so:
$sql1 = "SELECT param FROM codedb WHERE id = '". $_POST['deletedbe'] ."'";
Parktisch ist das aber mehr als gefährlich, da du deine Daten überhaupt nicht prüfst.
Niemals darfst du Daten einfach ungeprüft in deine Abfragen einbauen.
Ein Angriff per SQL-Injektion wäre so recht einfach möglich.
Sichere deine Abfrage:
$sql1 = "SELECT param FROM codedb WHERE id = '". mysql_real_escape_string( $_POST['deletedbe'] ) ."'";
Schöner Gruß,
rob