2011-05-09 51 views
44

estoy recibiendo este error:PHP, MySQL error: recuento de columnas no corresponde al número en la fila 1

Column count doesn't match value count at row 1

Desde el siguiente código:

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

Lo que hace el error significa?

+0

has comment out '// mysql_real_escape_string ($ image), ' tu consulta espera 9 variables la pasas 8 – afarazit

+0

Voy a subir la imagen de otra manera. La clave de imagen está en la tabla, pero no se está insertando un valor para ella. ¿Podría ser esto una causa? –

Respuesta

81

Tiene 9 campos en la lista, pero solo 8 valores. Intenta agregar el método.

+14

Entonces no solucionó el problema. Porque ese * es * el problema. –

13

El número de parámetros de columna en su consulta de inserción es 9, pero solo ha proporcionado 8 valores.

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

La consulta debe omitir el parámetro "id", porque es generada automáticamente (o debería ser de todos modos):

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

Buena suerte!

+0

Excepto que todos los campos están desactivados ahora. –

6

Su consulta tiene 8 o posiblemente incluso 9 variables, es decir. Nombre, descripción, etc. Pero los valores, estas cosas --->'', '%s', '%s', '%s', '%s', '%s', '%s', '%s')", solo el total de 7, el número de variables tiene que ser el mismo que el de los valores.

Tuve el mismo problema, pero lo descubrí. Con suerte, también funcionará para usted.

+3

Tenga en cuenta que esta pregunta ya ha sido respondida. No es necesario revivir una publicación de 1.5 años a menos que pueda agregar algo nuevo. Gracias por tu esfuerzo de todos modos. – fancyPants

Cuestiones relacionadas