Update mit PDO

CreativPur

Erfahrenes Mitglied
Ich komme einfach nicht weiter..

Das Einfugen und die Ausgabe der Daten funktioniert, aber ich bekomme es einfach nicht hin, bestehende Daten zu ändern..

Mein Versuch..
PHP:
<?php
include("../system/inc/config.inc.php");
include("../system/head.php");
?>

<?php
$sql = "SELECT * FROM users, users_design WHERE users.id = 78 AND users_design.anschreiben_bg ORDER BY id_design DESC LIMIT 1";
$user = $pdo->query($sql)->fetch();



$anschreiben_bg = trim($_POST['anschreiben_bg']);
$statement = $pdo->prepare("UPDATE users_design SET anschreiben_bg = :anschreiben_bg, updated_at=NOW() WHERE id_design = $id_design");
$result = $statement->execute(array('anschreiben_bg' => $anschreiben_bg, 'id_design' => $id_design ));
?>

<form action="#" method="post" class="form-horizontal">
<input value="<?php echo $user['anschreiben_bg'] ?>" name="anschreiben_bg"><br /><br />
<button type="submit" class="btn btn-success btn-xs" name="designupdate">Web-Design speichern</button>
</form>

Worin liegt der Fehler ??
 
item: ersetze $id_design im SQL durch :id_design
item: Ersetze 'anschreiben_bg' und 'id_design' im execute durch ':anschreiben_bg' und ':id_design'

Und woher kommt $id_design?
 
$id_design ist die ID der Spalte in users_design.

Das Beispiel oben ist nur ein Teil des Formulars..
Der User wählt zuerst ein Bild, benennt diese Zeile und speichert dies ab.
Das funktioniert auch. Und somit wird die Zeile mit einer id_design angelegt.

Die Tabelle im ersten Schritt mit Insert
id_design (wird in der Datenbank automatisch als Index erzeugt)
userid
design_name
design_bild

Anschließend hat der User die Möglichkeit weitere Eingaben zu machen..
wie z.B. anschreiben_bg.
In dieses inputfeld kommt z.B. nur ein Farbcode.. #ffffff
 
Zurück