Heim  >  Artikel  >  Backend-Entwicklung  >  Warum erhalte ich in meinem PHP- und MySQL-Code die Fehlermeldung „Spaltenanzahl stimmt nicht mit Wertanzahl in Zeile 1 überein“?

Warum erhalte ich in meinem PHP- und MySQL-Code die Fehlermeldung „Spaltenanzahl stimmt nicht mit Wertanzahl in Zeile 1 überein“?

Barbara Streisand
Barbara StreisandOriginal
2024-10-27 11:23:01755Durchsuche

Why am I getting the

Behebung des Fehlers „Spaltenanzahl stimmt nicht mit Wertanzahl in Zeile 1 überein“ in PHP und MySQL

Beim Versuch, Daten in eine einzufügen Wenn Sie eine MySQL-Datenbank mit PHP verwenden, tritt möglicherweise der folgende Fehler auf:

Column count doesn't match value count at row 1

Dieser Fehler tritt auf, wenn die Anzahl der in der INSERT-Abfrage bereitgestellten Werte nicht mit der Anzahl der in der Zieltabelle definierten Spalten übereinstimmt.

Die Ursache verstehen

In Ihrem Beispielcode haben Sie 9 Spalten in der INSERT-Abfrage angegeben:

INSERT INTO dbname (id, Name, Description, shortDescription, Ingredients, Method, Length, dateAdded, Username)

Sie geben jedoch nur 8 Werte an :

sprintf("INSERT INTO dbname (id, Name, Description, shortDescription, Ingredients, Method, Length, dateAdded, Username) VALUES ('', '%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($image),
    mysql_real_escape_string($length),
    mysql_real_escape_string($dateAdded),
    mysql_real_escape_string($username));

Daher ist MySQL nicht in der Lage, die Anzahl der bereitgestellten Werte den angegebenen Spalten zuzuordnen, was zu dem Fehler führt.

Lösung: Stellen Sie sicher, dass die Werteanzahl mit der Spalte übereinstimmt Anzahl

Um das Problem zu beheben, müssen Sie sicherstellen, dass die Anzahl der Werte in Ihrer Abfrage mit der Anzahl der Spalten in der Zieltabelle übereinstimmt. In diesem Fall haben Sie die Angabe des Methodenwerts versäumt.

Ändern Sie Ihren Code, um den fehlenden Wert einzuschließen:

$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),
    mysql_real_escape_string($length),
    mysql_real_escape_string($dateAdded),
    mysql_real_escape_string($username));

Durch die Angabe der richtigen Anzahl von Werten können Sie erfolgreich vorgehen Fügen Sie Daten in die MySQL-Datenbank ein, ohne dass der Fehler „Spaltenanzahl-Nichtübereinstimmung“ auftritt.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in meinem PHP- und MySQL-Code die Fehlermeldung „Spaltenanzahl stimmt nicht mit Wertanzahl in Zeile 1 überein“?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn