Heim >Datenbank >MySQL-Tutorial >Warum erhalte ich in meiner MySQL-INSERT-Anweisung die Fehlermeldung „Spaltenanzahl stimmt nicht mit Wertanzahl in Zeile 1 überein'?

Warum erhalte ich in meiner MySQL-INSERT-Anweisung die Fehlermeldung „Spaltenanzahl stimmt nicht mit Wertanzahl in Zeile 1 überein'?

DDD
DDDOriginal
2024-12-01 00:19:11874Durchsuche

Why am I getting a

PHP-, MySQL-Fehler: Diskrepanz bei der Spaltenanzahl

Der Fehler „Spaltenanzahl stimmt nicht mit Wertanzahl in Zeile 1 überein“ weist auf eine Nichtübereinstimmung hin zwischen der Anzahl der in einer SQL-INSERT-Anweisung angegebenen Spalten und der Anzahl der bereitgestellten Werte.

In diesem speziellen Fall haben Sie Folgendes Code:

$query = 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));

Die SQL-Anweisung enthält 9 Spalten: ID, Name, Beschreibung, Kurzbeschreibung, Zutaten, Methode, Länge, Datum hinzugefügt und Benutzername. Sie geben jedoch nur 8 Werte an: $name, $description, $shortDescription, $ingredients, $length, $dateAdded, $username und $method.

Um den Fehler zu beheben, müssen Sie Folgendes hinzufügen Fehlender Wert für die Spalte „Methode“. Stellen Sie sicher, dass Sie die Methodendaten aus Ihrer Eingabe erfassen. Sobald Sie dies getan haben, sollte Ihre Abfrage wie folgt lauten:

$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));

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in meiner MySQL-INSERT-Anweisung 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