Foros del Web » Programando para Internet » PHP »

Errores de MySQL

Estas en el tema de Errores de MySQL en el foro de PHP en Foros del Web. Cuando hago una consulta en MySQL lo hago asi : Código PHP: $consulta  =  mysql_query ( "select * from tabla" ) or die( mysql_error ());  Puedo personalizar el error que ...
  #1 (permalink)  
Antiguo 13/09/2004, 11:02
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 15 años, 5 meses
Puntos: 0
Errores de MySQL

Cuando hago una consulta en MySQL lo hago asi :

Código PHP:
$consulta mysql_query("select * from tabla") or die(mysql_error()); 
Puedo personalizar el error que retorna MySQL ?
De manera que no aparezcan los mensajes de mysql que a veces no son comprensibles para los usuarios.

Gracias.

Salu2 !!!
__________________
AK.T.I.V.E.tm Live, Never DIE
  #2 (permalink)  
Antiguo 13/09/2004, 11:19
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 15 años, 10 meses
Puntos: 6
sip
mysql_error("USTED HA PRENGUNTADO DI PUEDE PERSONALIZAR")

__________________
www.dataautos.com
  #3 (permalink)  
Antiguo 13/09/2004, 11:38
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 15 años, 5 meses
Puntos: 0
OK, pero digo mas que eso, tal vez poder darle algun estilo al mensaje o tal vez crear una variable que contenga el codigo html del mensaje

mysql_error($msg_error)

Salu2 !!!
__________________
AK.T.I.V.E.tm Live, Never DIE
  #4 (permalink)  
Antiguo 13/09/2004, 11:39
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 15 años, 10 meses
Puntos: 6
Claro... si es una variable que contiene algo pues sera desplegado.
__________________
www.dataautos.com
  #5 (permalink)  
Antiguo 13/09/2004, 11:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Usando @ delante de la función .. "silencias" los mensajes de error de Mysql y como arroja un "boolean" (true/false) usas el "or" y a su vez el die() que termina el script en ese punto con un mensaje. Todo quedaría:

Código PHP:
$consulta = @mysql_query("select * from tabla") or die("Hay un error en en la BD"); 
Un saludo,
  #6 (permalink)  
Antiguo 13/09/2004, 11:53
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 15 años, 5 meses
Puntos: 0
OK, entiendo, pero se puede personalizar mas el error ?
Por que con
Código PHP:
$consulta = @mysql_query("select * from tabla") or die("Hay un error en en la BD"); 
solo apareceria un texto en la pantalla sin formato, solo un texto con fuentes por defecto.
Tal vez podria agregar mas detalle del error y un boton que le permita volver atras o salir.
Se puede agregar una variable dentro del mysql_error ?

Salu2 !!!
__________________
AK.T.I.V.E.tm Live, Never DIE
  #7 (permalink)  
Antiguo 13/09/2004, 14:18
 
Fecha de Ingreso: enero-2004
Ubicación: Santiago
Mensajes: 127
Antigüedad: 13 años, 11 meses
Puntos: 0
Amigo, es sólo cosa de escribir el HTML dentro del die("<FONT COLOR='#666699'>MENSAJE DE ERROR</FONT>")... por ejemplo. Puedes incluir tablas, negritas, lo que quieras.

Aunque especificamente en tu caso podrías hacer:

$consulta = @mysql_query("SELECT * FROM tabla");

if (!$consulta) {

TABLAS, tipografías, colores, estilos CSS, JavaScript, Remote scripting... un sin fin de cosas puedes escribir aqui.

}

Saludos

Última edición por HiperJP; 13/09/2004 a las 14:22
  #8 (permalink)  
Antiguo 13/09/2004, 16:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
He incluso .. centralizar los mensajes de error sobre una página tipo:

Código PHP:
if (!mysql_xxxx()){
    
header("Location: errores.php?id=1");
    exit;

Y en errores.php .. algo tipo (un array con las frases de error):

Código PHP:
<?
$errores
[1]="Error blablabla";
$errores[2]="Error blablabla otro error";


// armas tu página con tu diseño .. etc .. 
echo $errores{$_GET['id']};
// etc ....
?>
Un saludo,

Última edición por Cluster; 13/09/2004 a las 16:11
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 09:08.