Veröffentlicht 18. April 20178 j Ich komme bei einer Fehlermeldung nicht weiter. Es geht um einen INSERT-Befehl über PDO: $req = $db->prepare("UPDATE display SET inhalt = ':inhalt' WHERE id = :id"); $req->execute(array(':inhalt' => $this->data, ':id' => $_SESSION['aktuellesDisplay'])); gibt folgende Fehlermeldung aus: <b>Fatal error</b>: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in Der Inhalt der Variable id ist in meinem Beispiel 0 (Die Sessionvariable). Der Inhalt der Variablen data ist ein array aus serialisierten Formulareinträgen und sieht so aus: a:5:{s:6:"zeile1";s:0:"";s:6:"zeile2";s:5:"rewew";s:6:"zeile3";s:0:"";s:5:"menge";s:0:"";s:5:"preis";s:0:"";} Die Fehlermeldung sagt doch eigentlich aus, dass die Anzahl der Parameter im prepare-Bereich nicht mit der Anzahl der Parameter im execute-Bereich übereinstimmt, oder? Das ist hier aber der Fall. Sehe ich hier den Wald vor Bäumen nicht? Ich habe die : nicht vergessen und die Variablennamen sind gleich. Bitte um Hilfe...
18. April 20178 j Moin, $req = $db->prepare("UPDATE display SET inhalt = :inhalt WHERE id = :id"); Nimm mal die ' um :inhalt weg. Wenn du den Wert als String kennzeichnest wird der Platzhalter nicht erkannt. Da du aber trotzdem 2 Parameter beim Execute mitschickst, wird da einer zu viel gesendet. Bearbeitet 18. April 20178 j von PVoss
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.