it-swarm.com.de

PHP, MySQL-Fehler: Spaltenanzahl stimmt nicht mit Wertanzahl in Zeile 1 überein

Ich erhalte diesen Fehler:

Column count doesn't match value count at row 1

Aus dem folgenden Code:

$name = $_GET['name'];
$description = $_GET['description'];
$shortDescription = $_GET['shortDescription'];
$ingredients = $_GET['ingredients'];
$method = $_GET['method'];
//$image = $_GET['image'];
$username = $_GET['username'];
$length = $_GET['length'];
$dateAdded = uk_date();
$conn = mysql_connect('localhost', 'dbname', 'pass');
mysql_select_db('dbname');
$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));

    $result = mysql_query($query) or die(mysql_error());

Was bedeutet der Fehler?

46
max_

Sie haben 9 Felder aufgelistet, aber nur 8 Werte. Versuchen Sie, die Methode hinzuzufügen.

Die Anzahl der Spaltenparameter in Ihrer Einfügeabfrage beträgt 9, Sie haben jedoch nur 8 Werte angegeben.

INSERT INTO dbname (id, Name, Description, shortDescription, Ingredients, Method, Length, dateAdded, Username) VALUES ('', '%s', '%s', '%s', '%s', '%s', '%s', '%s')

In der Abfrage sollte der Parameter "id" weggelassen werden, da er automatisch generiert wird (oder es trotzdem sein sollte):

INSERT INTO dbname (Name, Description, shortDescription, Ingredients, Method, Length, dateAdded, Username) VALUES ('', '%s', '%s', '%s', '%s', '%s', '%s', '%s')

Viel Glück!

13
Tharsan

Ihre Abfrage hat 8 oder möglicherweise sogar 9 Variablen, dh. Name, Beschreibung usw. Aber die Werte, diese Dinge ---> '', '%s', '%s', '%s', '%s', '%s', '%s', '%s')", nur insgesamt 7, die Anzahl der Variablen muss mit den Werten übereinstimmen.

Ich hatte das gleiche Problem, aber ich habe es herausgefunden. Hoffentlich funktioniert es auch für Sie.

6
MCForty