Hallo Forum,
ich beschäftige mich jetzt schon mehrere Tage damit, eine Datenbank mit prepared Statements und der sqli-Erweiterung zu füllen und die Datensätze zu bearbeiten..
Beim Versuch, einen bestehenden Datensatz zu verändern, komme ich einfach nicht auf den Fehler. Dies ist mein Code:
<?php
include("dbverbindung.php");
$id = (int)($_POST['id']);
$aendern = "UPDATE `001_dbtest` Set `001_name` = ?, `001_ort` = ?, `001_eintrag` = ? WHERE `001_id` = ?";
$kommando = $db->prepare($aendern);
$kommando->bind_param('sssi', $_POST['name'], $_POST['ort'], $_POST['eintrag'], $id);
$kommando->execute();
include("dbtrennung.php");
echo"<p>Die Daten wurden geändert.</p>\n";
?>
Dies bewirkt die Fehlermeldung "Fatal error: Call to a member function bind_param() on a non-object in ..."
Ich habe nun versucht, so wie mir es dedlfix beigebracht hat, eine Fehleranalyse zu betreiben. Deshalb habe ich mit "var_dump" bei den 4 Parameter/Variablen eine Kontrollausgabe gemacht.
Die 4 Werte sind vorhanden und so wie es auch bei den PS steht, handelt es sich bei den ersten 3 um Strings, beim 4. Wert um eine Integer Zahl. Daran liegt es also nicht. Auch die Variablennamen stimmen 100%ig! Und auch bei der Syntax sehe ich keinen Fehler.
Kann mir bitte wer auf die Sprünge helfen?
Danke!
MfG
Der Brombeermilchtrinker