Foros del Web » Programando para Internet » PHP »

Problemas Sistema Comentarios

Estas en el tema de Problemas Sistema Comentarios en el foro de PHP en Foros del Web. Hola cree un sistema de comentarios para mi web, y derrepente me empezo a dar errores, siempre que quiero agregar uno me aparece este error ...
  #1 (permalink)  
Antiguo 31/08/2007, 01:47
 
Fecha de Ingreso: septiembre-2004
Ubicación: Chihuahua Mex
Mensajes: 404
Antigüedad: 19 años, 7 meses
Puntos: 2
Problemas Sistema Comentarios

Hola cree un sistema de comentarios para mi web, y derrepente me empezo a dar errores, siempre que quiero agregar uno me aparece este error Data truncated for column 'id_noticia' at row 1

para que me puedan ayudar mejor aqui les pongo el codigo que utilizo para registrar los comentarios en la base de datos

Código PHP:
<?php require_once './includes/phpBB.inc.php';
$idusuario$user->data['user_id'];
$nombreusuario$user->data['username']; ?>
<?php
if (!$user->data['is_registered']) { ?>
<h1>Fuck You</h1>
 <?php
   
} else if ($user->data['is_registered']) {
?>        
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<?php

    
// Primero comprobamos que ningún campo esté vacío y que todos los campos existan.
    
if(isset($_POST['comentario']) && !empty($_POST['comentario'])
    
    &&
    isset(
$_POST['id_noticia']) && !empty($_POST['id_noticia'])
    ) {

        
// Si entramos es que todo se ha realizado correctamente

        
$link mysql_connect("localhost","usuario","pass");
        
mysql_select_db("basededatos",$link);

        
// Con esta sentencia SQL insertaremos los datos en la base de datos
        
mysql_query("INSERT INTO comentarios (nick,comentario,id_usuario,id_noticia)
        VALUES ('$nombreusuario','{$_POST['comentario']}','$idusuario','{$_POST['id_noticia']}')"
,$link);

        
// Ahora comprobaremos que todo ha ido correctamente
        
$my_error mysql_error($link);

        if(!empty(
$my_error)) {

            echo 
"Ha habido un error al insertar los valores. $my_error"

        } else {

            echo 
"Los datos han sido introducidos satisfactoriamente";

        }

    } else {

        echo 
"Error, no ha introducido todos los datos";

    }
   } 
?>
  #2 (permalink)  
Antiguo 31/08/2007, 08:56
Avatar de eft0  
Fecha de Ingreso: junio-2003
Ubicación: Santiago - Chile
Mensajes: 635
Antigüedad: 20 años, 10 meses
Puntos: 9
Re: Problemas Sistema Comentarios

Revisa que los valores que insertas con comilla simple, sean correctamente string y no numericos.

¿Que version de MySQL usas?
  #3 (permalink)  
Antiguo 31/08/2007, 13:56
 
Fecha de Ingreso: septiembre-2004
Ubicación: Chihuahua Mex
Mensajes: 404
Antigüedad: 19 años, 7 meses
Puntos: 2
Re: Problemas Sistema Comentarios

Hola cuando entro a phpmyadmin dice Versión del servidor: 5.0.24a-standard-log
y el valor de $nombreusuario me devuelve un valor tipo "usuario" y el de id_usuario un valor tipo "1"
  #4 (permalink)  
Antiguo 31/08/2007, 14:00
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo Re: Problemas Sistema Comentarios

Te sugiero que en tu query uses las funciones die() y mysql_error() para que el script no continue y además te arroje el error.

Es decir:

Código PHP:
mysql_query("INSERT INTO comentarios (nick,comentario,id_usuario,id_noticia) VALUES ('$nombreusuario','{$_POST['comentario']}','$idusuario','{$_POST['id_noticia']}')",$link) or die(mysql_error()); 
Saludillos.
  #5 (permalink)  
Antiguo 31/08/2007, 14:21
 
Fecha de Ingreso: septiembre-2004
Ubicación: Chihuahua Mex
Mensajes: 404
Antigüedad: 19 años, 7 meses
Puntos: 2
Re: Problemas Sistema Comentarios

Pero eso solo hace que me aparesca el error y es lo que hago en $my_error = mysql_error($link);, nadie sabe como puedo solucionar el error ?
  #6 (permalink)  
Antiguo 31/08/2007, 14:25
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo Re: Problemas Sistema Comentarios

Ya intentaste imprimiendo la consulta a pantalla y ejecutandola directamente en le bd? De esta forma sabras si tienes bien formado tu query y tus datos correspondan en la definición de la tabla.

Saludillos.
  #7 (permalink)  
Antiguo 31/08/2007, 14:38
 
Fecha de Ingreso: septiembre-2004
Ubicación: Chihuahua Mex
Mensajes: 404
Antigüedad: 19 años, 7 meses
Puntos: 2
Re: Problemas Sistema Comentarios

Mira Hice esto en el archivo puse

Código PHP:
<?php require_once './includes/phpBB.inc.php';
$idusuario$user->data['user_id'];
$nombreusuario$user->data['username']; ?>
<?php
if (!$user->data['is_registered']) { ?>
<h1>Fuck You</h1>
 <?php
   
} else if ($user->data['is_registered']) {
?>        
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<?php

    
echo"INSERT INTO comentarios (nick,comentario,id_usuario,id_noticia)";
        echo
"VALUES ('$nombreusuario','{$_POST['comentario']}','$idusuario','{$_POST['id_noticia']}')";
   } 
?>
y me dio como resultado esto
Código HTML:
INSERT INTO comentarios (nick,comentario,id_usuario,id_noticia)VALUES ('Panaflakin','Prueba 2','2','201/Movil-para-los-pekeños-de-Space-Invaders')
y lo puse desde la base de datos y no me dio error, pero cuando regreso al codigo del primer tema me da un error, que podria causar el error?
  #8 (permalink)  
Antiguo 31/08/2007, 14:50
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo Re: Problemas Sistema Comentarios

Ya dí con la explicación de este error.. echale un ojo a este link http://www.desknow.com/kb/idx/0/175/article/, para ser un problema con la codificación. Trata de poner la cadena sin acentos y sin la ñ para ver si es realmente esto

Saludillos.
  #9 (permalink)  
Antiguo 02/09/2007, 01:02
 
Fecha de Ingreso: septiembre-2004
Ubicación: Chihuahua Mex
Mensajes: 404
Antigüedad: 19 años, 7 meses
Puntos: 2
Re: Problemas Sistema Comentarios

Ok, ya funciona pero en mi pagina las noticias se muestran de la siguiente manera http://www.gamerzone.com.mx/noticia/...-por-Blomkamp/
y al obtener el id utilizo la funcion $newsId = $_REQUEST['newsId']; pero en vez de solo tomarmela como 202 me la toma como 202/Video-de-Halo,-posible-pelicula-por-Blomkamp/, que puedo hacer para que solo tome el numero de la id, y no lo demas.

Espero comprendan mi pregunta y me puedan ayudar.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:54.