Autor Tema: Column count doesn't match value count at row 1 Error php mysql  (Leído 11239 veces)

Jigsaw_MGO

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 113
    • Ver Perfil
Hola de nuevo, no quería mezclar dos temas en uno así, en mi aplicación web tengo un administrador de contenidos que permite agregar noticias a la página web principal, pero me aparece éste error.

Column count doesn't match value count at row 1

Aquí les adjunto el código...
« Última modificación: 03 de Julio 2015, 15:04 por César Krall »

Mastermind

  • Experto
  • *****
  • Mensajes: 536
    • Ver Perfil
Re:Error en mi Administrador de contenidos - Aplicación Web
« Respuesta #1 en: 02 de Julio 2015, 21:11 »
Hola

La tabla dbo_news parece tener 16 columnas

Código: [Seleccionar]
CREATE TABLE IF NOT EXISTS `dbo_news` (
  `nt_id` int(10) unsigned NOT NULL,
  `nt_titulo` varchar(80) NOT NULL,
  `nt_img_principal` varchar(150) NOT NULL,
  `nt_img_resumen` varchar(150) NOT NULL,
  `nt_img_resumen_texto` varchar(78) NOT NULL,
  `nt_texto_titulo` text NOT NULL,
  `nt_texto_resumen` text NOT NULL,
  `nt_texto_noticia` text NOT NULL,
  `nt_img_portada` varchar(150) NOT NULL,
  `nt_img_portada_texto` varchar(120) NOT NULL,
  `nt_carga_fecha` date NOT NULL,
  `nt_carga_hora` varchar(50) NOT NULL,
  `nt_carga_usuario` varchar(100) NOT NULL,
  `nt_carga_tipo` varchar(15) NOT NULL,
  `nt_carga_galeria_ref` varchar(5) NOT NULL,
  `nt_carga_stat` varchar(45) NOT NULL
)
 

Pero la consulta parece que solo inserta datos para quince columnas
 
              
Código: [Seleccionar]
$sql="INSERT INTO dbo_news VALUES('', 1
'".utf8_decode($_POST['titulo'])."', 2
'".$imgprincipal."', 3
'".$imgresumen."', 4
  '".utf8_decode($_POST['img_resumen_texto'])."', 5
  '".utf8_decode($_POST['texto_titulo'])."', 6
  '".utf8_decode($_POST['texto_resumen'])."', 7
  '".utf8_decode(nl2br($_POST['texto_noticia']))."', 8
  '".$imgportada."', 9
  '".utf8_decode($_POST['img_portada_texto'])."', 10
  '".$fecha_normal."', 11
  '".$fecha_hora."', 12
  '".$_POST['redactor']."', 13
  '".$_POST['carga_tipo']."', 14
  '1' 15
  )";

Comprueba bien que se haga una inserción de un valor correcto para cada columna.

Por mensajes echo justo antes de hacer la consulta de insert a la base de datos y verifica cuántos valores vas a insertar en la tabla y cuál es el contenido que llevan.

Saludos
« Última modificación: 03 de Julio 2015, 15:03 por César Krall »

Jigsaw_MGO

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 113
    • Ver Perfil
Re:Error en mi Administrador de contenidos - Aplicación Web
« Respuesta #2 en: 03 de Julio 2015, 02:40 »
Buenas noches y gracias por tu respuesta, pensé que nadie respondería por lo extenso de mis explicaciones xD, bueno se me olvidó mencionar que no soy muy bueno en éste tema de SQL y PHP, no quiero ser un fastidio, pero podrías revisar el modif_nws_add? y comparar que campo falta?, es que desde la casa tengo acceso al servidor del hosting mediante filezilla, pero al instalar xampp y abrirlo aquí en casa, no es lo mismo que en el trabajo y no puedo ver la base de datos que está en el servidor, sólo veo las locales...

Los campos en modif_nws_add.php son:

1 Tipo de carga (elegir opción en combobox)
2 Título
3 Autor
4 Fecha (tres combos, día, mes y año)
5 Cuerpo noticia - antetítulo
6 Cuerpo noticia - resumen
7 Cuerpo noticia - texto
8 Texto imagen resumen
9 Texto en portada
10 Imagen portada (examinar archivo)
11 Imagen principal (examinar archivo)
12 Imagen resumen (examinar archivo)
« Última modificación: 15 de Julio 2015, 18:55 por César Krall »

Jigsaw_MGO

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 113
    • Ver Perfil
Re:Column count doesn't match value count at row 1 Error php mysql
« Respuesta #3 en: 03 de Julio 2015, 15:27 »
Ya tomé fotos al la base de datos pero son muy grandes :(

Tengo ésto en el código
Código: [Seleccionar]


<?php
ob_start
();
@
session_start();
require_once(
"../lib.php");
if(isset(
$_SESSION['usuario']) and $_SESSION['estado'] == 'Autenticado'){
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="css/dt_formas.css" rel="stylesheet" type="text/css" />
<title>Agregar Noticias</title>
</head>

<body>

<?php
require_once("../lib.php");
if(isset(
$_POST['procesar'])){
if(move_uploaded_file($_FILES['img_principal']['tmp_name'],$img_principal="../img/nws/".@date("Ymdhis")."_p.jpg")){
$imgprincipal=substr($img_principal,3,strlen($img_principal));
if(move_uploaded_file($_FILES['img_resumen']['tmp_name'],$img_resumen="../img/nws/".@date("Ymdhis")."_r.jpg")){
$imgresumen=substr($img_resumen,3,strlen($img_resumen));
if(move_uploaded_file($_FILES['img_portada']['tmp_name'],$img_portada="../img/nws/".@date("Ymdhis")."_pt.jpg")){
$imgportada=substr($img_portada,3,strlen($img_portada));
$fecha_normal=$_POST['ev_year']."-".$_POST['ev_month']."-".$_POST['ev_day'];
$fecha_hora=@date("H:i:s");
$sql="INSERT INTO dbo_news VALUES('',
  '"
.utf8_decode($_POST['titulo'])."',
  '"
.$imgprincipal."',
  '"
.$imgresumen."',
  '"
.utf8_decode($_POST['img_resumen_texto'])."',
  '"
.utf8_decode($_POST['texto_titulo'])."',
  '"
.utf8_decode($_POST['texto_resumen'])."',
  '"
.utf8_decode(nl2br($_POST['texto_noticia']))."',
  '"
.$imgportada."',
  '"
.utf8_decode($_POST['img_portada_texto'])."',
  '"
.$fecha_normal."',
  '"
.$fecha_hora."',
  '"
.$_POST['redactor']."',
  '"
.$_POST['carga_tipo']."',
  '1'
  )"
;
if(mysql_query($sql)){
?>

<script>
alert('La carga se ha realizado correctamente.')
//opener.document.location.reload();
//window.close();
</script>
<?php
} else{
print mysql_error();
?>

<script> alert('Ha ocurrido un error. Por favor intente nuevamente.') </script>
<?php
}
} else{
?>

<script> alert('Error al subir la imagen de portada.') </script>
<?php
}
} else{
?>

<script> alert('Error al subir la imagen de resumen.') </script>
<?php
}
} else{
?>

<script> alert('Error al subir la imagen principal.') </script>
<?php
}
}
?>

<div id="form_textos" style="text-align:left; top:100px;">
<form name="noticia_principal" method="post" enctype="multipart/form-data">
    Tipo de Carga<br/>
    <select style="width:323px;" name="carga_tipo">
    <option>-- Seleccione una opcion--</option>
        <option value="NOTICIA">NOTICIA</option>
        <option value="EVENTO">EVENTO</option>       
    </select>
    Titulo<br/>
    <input size="49" type="text" name="titulo" maxlength="80"/><br/>
    Autor<br/>
    <input size="49" type="text" name="redactor" maxlength="80"/><br/>
    Fecha:<br/>
    <select style="width:90px;" name="ev_day">
    <option>-- DIA --</option>
        <option value="01">01</option>
        <option value="02">02</option>
        <option value="03">03</option>
        <option value="04">04</option>
        <option value="05">05</option>
        <option value="06">06</option>
        <option value="07">07</option>
        <option value="08">08</option>
        <option value="09">09</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
        <option value="13">13</option>
        <option value="14">14</option>
        <option value="15">15</option>
        <option value="16">16</option>
        <option value="17">17</option>
        <option value="18">18</option>
        <option value="19">19</option>
        <option value="20">20</option>
        <option value="21">21</option>
        <option value="22">22</option>
        <option value="23">23</option>
        <option value="24">24</option>
        <option value="25">25</option>
        <option value="26">26</option>
        <option value="27">27</option>
        <option value="28">28</option>
        <option value="29">29</option>
        <option value="30">30</option>
        <option value="31">31</option>
    </select>
    <select style="width:90px;" name="ev_month">
    <option>-- MES --</option>
        <option value="01">Enero</option>
        <option value="02">Febrero</option>
        <option value="03">Marzo</option>
        <option value="04">Abril</option>
        <option value="05">Mayo</option>
        <option value="06">Junio</option>
        <option value="07">Julio</option>
        <option value="08">Agosto</option>
        <option value="09">Septiembre</option>
        <option value="10">Octubre</option>
        <option value="11">Noviembre</option>
        <option value="12">Diciembre</option>
    </select>
    <select style="width:90px;" name="ev_year">
    <option>-- AÑO --</option>
        <option value="2010">2010</option>
        <option value="2011">2011</option>
        <option value="2012">2012</option>
        <option value="2013">2013</option>
        <option value="2014">2014</option>
        <option value="2015">2015</option>
        <option value="2016">2016</option>
        <option value="2017">2017</option>
        <option value="2018">2018</option>
        <option value="2019">2019</option>
        <option value="2020">2020</option>
    </select><br/>
    Cuerpo Noticia - anteTitulo<br/>
    <textarea id="texto_titulo" rows="2" cols="37" name="texto_titulo" ></textarea><br/>
    Cuerpo Noticia - Resumen<br/>
    <textarea id="texto_resumen" rows="2" cols="37" name="texto_resumen" ></textarea><br/>
    Cuerpo Noticia - Texto<br/>
    <textarea id="texto_noticia" rows="5" cols="37" name="texto_noticia" ></textarea><br/>
    Texto Imagen Resumen<br/>
    <input size="49" type="text" name="img_resumen_texto" maxlength="78"/><br/>
    Texto en Portada<br/>
    <input size="49" type="text" name="img_portada_texto" maxlength="120"/><br/>
    Imágen Portada (200px X 80px)<br/>
    <input size="35" type="file" name="img_portada" /><br/>
    Imágen Principal (675px X 173px)<br/>
    <input size="35" type="file" name="img_principal" /><br/>
    Imágen Resumen (230px X 130px)<br/>
    <input size="35" type="file" name="img_resumen" /><br/>
    <br/><br/>
    <input type="submit" name="procesar" value="Procesar"/>
</form>
</div>


</body>
</html>

<?php
}
else
{
// Usuario que no se ha logueado
echo "No tienes permiso para entrar a esta pagina";
exit();
}
ob_end_flush();
?>




No sé que me falta D: sigo con ese error, ya tengo 3 semanas con eso plz help


Enlaces a Dropbox:

https://www.dropbox.com/s/z3d1ywix58uouie/Captura%20de%20pantalla%202015-07-03%2009.04.04.png?dl=0


https://www.dropbox.com/s/rn9cpp5cjzxxxko/Captura%20de%20pantalla%202015-07-03%2009.03.58.png?dl=0

https://www.dropbox.com/s/ib1d8s2boud067w/Captura%20de%20pantalla%202015-07-03%2009.03.49.png?dl=0
« Última modificación: 03 de Julio 2015, 15:40 por Jigsaw_MGO »

Jigsaw_MGO

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 113
    • Ver Perfil
Re:Column count doesn't match value count at row 1 Error php mysql
« Respuesta #4 en: 05 de Julio 2015, 04:25 »
Nada? :_( ya intenté borrando columnas en la bd y nada

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Re:Column count doesn't match value count at row 1 Error php mysql
« Respuesta #5 en: 15 de Julio 2015, 19:03 »
Hola! Creo que podría ser útil que determines cuál es la consulta que tratas de ejecutar usando un echo después de la sentencia $sql="INSERT INTO dbo_news VALUES('', ... , etc.

Escribe luego:

echo 'La consulta a ejecutar es '.$sql;

Copia la consulta a ejecutar.

Luego vete al panel de administración del servidor y accede a la base de datos con phpMyAdmin. Trata de ejecutar la consulta desde phpMyAdmin y determina desde ahí qué es lo que falla.

También revisa http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=615:php-insert-into-values-insertar-datos-registros-filas-en-base-de-datos-mysql-ejemplos-y-ejercicio-cu00843b&catid=70:tutorial-basico-programador-web-php-desde-cero&Itemid=193

Hay algunos aspectos importantes que se comentan ahí por ejemplo "Tener en cuenta que debemos indicar los datos en el mismo orden en que se encuentran las columnas en la tabla."

Saludos!
Responsable de departamento de producción aprenderaprogramar.com

Jigsaw_MGO

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 113
    • Ver Perfil
Re:Column count doesn't match value count at row 1 Error php mysql
« Respuesta #6 en: 21 de Julio 2015, 16:48 »
Saludos César ya lo solucioné, gracias por responder!!

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Re:Column count doesn't match value count at row 1 Error php mysql
« Respuesta #7 en: 22 de Julio 2015, 21:51 »
Hola, pues indica cómo lo solucionaste y pega el código... así ayudamos a otras personas que tengan el mismo problema.

Saludos!
Responsable de departamento de producción aprenderaprogramar.com

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".