Foros del Web » Programando para Internet » PHP »

Información de error al insertar en BD Mysql

Estas en el tema de Información de error al insertar en BD Mysql en el foro de PHP en Foros del Web. Hola amigos, Me gustaria saber si hay algún comando o función en php o mysql que me permita saber cuál ha sido la causa de ...
  #1 (permalink)  
Antiguo 25/07/2006, 04:07
 
Fecha de Ingreso: abril-2006
Mensajes: 131
Antigüedad: 11 años, 8 meses
Puntos: 1
Información de error al insertar en BD Mysql

Hola amigos,

Me gustaria saber si hay algún comando o función en php o mysql que me permita saber cuál ha sido la causa de algunas inserciones en una tabla de una BD MySql (como por ejemplo tipo de atributos incorrecto, o restricciones de valor no nulo, etc, etc). Uso como gestor PhpMyAdmin.

Estoy haciendo inserciones pero algunas fallan y no logro descubrir el error.

Saludos.
  #2 (permalink)  
Antiguo 25/07/2006, 04:13
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 13 años, 1 mes
Puntos: 1
$resultado=mysql_query($sql)or die ("ERROR obteniendo respuestas de la base de datos, ".mysql_error());
__________________
ALOZORRO v5.0 (ahora en .es)
  #3 (permalink)  
Antiguo 25/07/2006, 04:14
Avatar de Lord of freaks  
Fecha de Ingreso: octubre-2004
Ubicación: Madrid
Mensajes: 334
Antigüedad: 13 años, 2 meses
Puntos: 2
Pon el error que te pone phpMyAdmin y te podremos aclarar cual es error que seguramente sea de sintaxis
__________________
Una vez un elemental de rayos mató una tribu entera de tritones.

¡¡ El sólo quería darse un baño !!

http://www.frikilandia.com

Neither Fu Nor Fa
  #4 (permalink)  
Antiguo 25/07/2006, 04:33
 
Fecha de Ingreso: abril-2006
Mensajes: 131
Antigüedad: 11 años, 8 meses
Puntos: 1
Al mostrar lo que devuelve el mysql_error() obtengo:

Cita:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Accessibilitat Universal de Municipis','ordenanza', 'http://www.miweb.es'
No sé si será algo de incompatibilidad de tipos o algo, pero es que no ocurre todas las veces, solo en algunas.

A alguien se le ocurre algo?

Saludos!!!
  #5 (permalink)  
Antiguo 25/07/2006, 04:38
Avatar de Lord of freaks  
Fecha de Ingreso: octubre-2004
Ubicación: Madrid
Mensajes: 334
Antigüedad: 13 años, 2 meses
Puntos: 2
puedes poner la consultaa ver si asi te podemos ayudar?
__________________
Una vez un elemental de rayos mató una tribu entera de tritones.

¡¡ El sólo quería darse un baño !!

http://www.frikilandia.com

Neither Fu Nor Fa
  #6 (permalink)  
Antiguo 25/07/2006, 04:51
 
Fecha de Ingreso: abril-2006
Mensajes: 131
Antigüedad: 11 años, 8 meses
Puntos: 1
Aquí hay una inserción:
Código PHP:
$sql "INSERT INTO busqueda ( idtabla, nombre, tipo, url, categoria, descripcion, tipobus ) VALUES ('$id','$nombre','$tipo', '$url', '$categoria', '$descripcion', '$tipobus')";
    
$result mysql_query($sql); 
    
    if(!
$result) {
        echo 
"Error al insertar en la BD: ".mysql_error();
        } 
Aquí está la otra inserción:
Código PHP:
$sql "INSERT INTO busqueda ( nombre, url, categoria, descripcion, tipobus ) VALUES ('$nombre','$url', '$categoria', '$descripcion', '$tipobus')";
    
$result mysql_query($sql); 
    
    if(!
$result) {
        echo 
"Error al insertar en la BD2: ".mysql_error();
        } 
  #7 (permalink)  
Antiguo 25/07/2006, 06:10
 
Fecha de Ingreso: abril-2006
Mensajes: 131
Antigüedad: 11 años, 8 meses
Puntos: 1
Son dos inserciones distintas ya que algunos de los atributos de la tabla no es obligatorio rellenarlos dependiendo del tipo de inserción "tipobus".

Es muy raro porque hay inserciones del mismo tipo que unas fallan y muchas otras funcionan.

A ver si me pueden ayudar.

Saludos!!!
  #8 (permalink)  
Antiguo 25/07/2006, 06:12
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 13 años, 1 mes
Puntos: 1
Cita:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Accessibilitat Universal de Municipis','ordenanza', 'http://www.miweb.es'
Sucede que la consulta SQL no es mas que una cadena de texto que se pasa al motor Sql para que realice una acción. Si esta cadena contiene caracteres que se usan para la sintaxis de la consulta (como las comillas simples en tu caso) estas hacen que la consulta este malformada...

Creo que puedes solucionar esto poniendo backslash's (\) en las comillas de la consulta... esto se puede lograr con la funcion addslashes().

(sacado de una web buscando el error en el google...)
__________________
ALOZORRO v5.0 (ahora en .es)
  #9 (permalink)  
Antiguo 25/07/2006, 06:36
 
Fecha de Ingreso: abril-2006
Mensajes: 131
Antigüedad: 11 años, 8 meses
Puntos: 1
Mil gracias Azrael666, parece que las inserciones van bien con el addslashes, ya ni me acordaba que se había que utilizar para añadir ese carácter.

Saludos y si tengo algun problemilla lo comentaré por akí
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 07:38.