Spaltenanzahl stimmt in MySQL INSERT nicht überein
Der Fehler „Spaltenanzahl stimmt nicht mit der Wertanzahl in Zeile 1 überein“ weist auf eine Diskrepanz zwischen den hin Anzahl der Spalten in einer Datenbanktabelle und die Anzahl der in einer INSERT-Anweisung bereitgestellten Werte.
Im bereitgestellten Code wird versucht, mithilfe der INSERT-Anweisung Werte in eine Tabelle mit dem Namen „dbname“ einzufügen. Die Abfrage listet 9 Spalten auf („id“, „Name“, „Description“, „shortDescription“, „Ingredients“, „Method“, „Length“, „dateAdded“ und „Username“), es werden jedoch nur 8 Werte bereitgestellt in der VALUES-Klausel. Insbesondere fehlt der Wert „Methode“.
Diese Diskrepanz zwischen der Spaltenanzahl und der Wertanzahl führt zu dem Fehler. Um das Problem zu beheben, stellen Sie sicher, dass die Abfrage die richtige Anzahl an Spalten und Werten enthält. Fügen Sie in diesem Fall den Wert für die Spalte „Methode“ hinzu, bevor Sie die INSERT-Anweisung ausführen.
Hier ist der geänderte Code mit dem fehlenden hinzugefügten Wert:
<code class="php">$query = sprintf("INSERT INTO dbname (id, Name, Description, shortDescription, Ingredients, Method, Length, dateAdded, Username) VALUES ('', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')", mysql_real_escape_string($name), mysql_real_escape_string($description), mysql_real_escape_string($shortDescription), mysql_real_escape_string($ingredients), mysql_real_escape_string($method), // Method value added mysql_real_escape_string($length), mysql_real_escape_string($dateAdded), mysql_real_escape_string($username));</code>
Durch Angabe der richtigen Nummer der Werte für die Spalten in der INSERT-Anweisung kann der Fehler vermieden werden und die Daten können erfolgreich in die Datenbank eingefügt werden.
Das obige ist der detaillierte Inhalt vonWarum löst meine MySQL-INSERT-Anweisung den Fehler „Spaltenanzahl nicht übereinstimmen' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!