Heim  >  Artikel  >  Backend-Entwicklung  >  Warum löst meine MySQL-INSERT-Anweisung den Fehler „Spaltenanzahl nicht übereinstimmen' aus?

Warum löst meine MySQL-INSERT-Anweisung den Fehler „Spaltenanzahl nicht übereinstimmen' aus?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-31 23:25:28819Durchsuche

Why Does My MySQL INSERT Statement Throw a

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!

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