Ich mag aus einer Datenbank Daten ändern, aber ich behalte Fehler immer und ich kann einfach nicht den Fehler finde ich gemacht ..Änderungsdaten aus der Datenbank mit PHP
Hier ist der Code:
if(isset($_POST['id'])) {
if(is_numeric($_POST['id'])) {
$change = pg_query($db, "SELECT * FROM azubi3 WHERE id = ".$_POST['id']."");
echo $change;
if($auto == "") {
$auto = "false";
}
else { $auto = "true"; }
$change = pg_query($db, "UPDATE azubi3 SET vorname = '".$_POST['prename']."', nachname = '".$_POST['name']."', auto = ".$auto.", auto_id = ".$_POST['auto_id'].", schuh_id = ".$_POST['schuh_id']." WHERE id = ".$_POST['id']."");
}
else { echo "ID muss eine Zahl sein!"; }
}
Und das ist der Fehler, den ich bekomme:
Warning: pg_query(): Query failed: ERROR: syntax error at or near "," LINE 1: ...achname = 'Mustermüller', auto = false, auto_id = , schuh_id...^in /srv/www/htdocs/azubi2/test3.php on line 82
erste Sache, ist der Code gegen SQL-Injektionen anfällig. Sie müssen ** Benutzereingaben überprüfen und bereinigen, bevor Sie sie in Ihrer Abfrage verwenden. siehe http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php?rq=1 –
Dies hat so viele SQL-Injektionsoptionen, dass ich das Gefühl habe, Sie versuchen mach eine * hack-me-page * – Peon
'". $ _POST ['id']. "' Ersetze das mit diesem ''". $ _POST [' id ']. "'' –