2012-08-12 42 views

Respuesta

57

Este es el primer ejemplo en la página del manual para mysql_query:

$result = mysql_query('SELECT * WHERE 1=1'); 
if (!$result) { 
    die('Invalid query: ' . mysql_error()); 
} 

Si desea utilizar algo que no sea die, entonces sugeriría trigger_error.

+3

O simplemente 'if (! Mysql_query ('SELECT * WHERE 1 = 1')) {...}' –

+2

@Rune: Correcto, pero entonces no será capaz de utilizar el recurso de consulta para acciones posteriores (es decir, para buscar datos reales usando las funciones 'mysql_fetch_ *'). –

+1

@AmalMurali hmm, buen punto. No estoy seguro de dónde estaba con mi cabeza al momento de publicar ese comentario. –

4

Si su consulta falló, recibirá un valor de retorno FALSO. De lo contrario, recibirás un recurso/TRUE.

$result = mysql_query($query); 

if(!$result){ 
    /* check for error, die, etc */ 
} 

Básicamente, siempre y cuando no sea falso, está bien. Luego, puedes continuar tu código.

if(!$result) 

Esta parte del código ejecuta realmente su consulta.

13

Puede usar mysql_errno() para esto también.

$result = mysql_query($query); 

if(mysql_errno()){ 
    echo "MySQL error ".mysql_errno().": " 
     .mysql_error()."\n<br>When executing <br>\n$query\n<br>"; 
} 
+1

Es mucho más confiable usar mysql_errno(), porque no se puede confiar completamente en el tipo de resultado devuelto por mysql_query(). – dar7yl

2

mysql_query función se utiliza para ejecutar la consulta mysql en php. mysql_query devuelve false si la ejecución de consultas fails.Alternatively puede intentar utilizar la función mysql_error() Por ejemplo

$result=mysql_query($sql) 

o

die(mysql_error()); 

En fragmento de código anterior, si la ejecución de consulta falla, entonces se dará por terminada la ejecución y visualización de MySQL error durante la ejecución de la consulta sql.

0

si se utiliza MySQLi bind_param intenta poner esta línea por encima de la consulta

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); 
1

poner solamente:

or die(mysqli_error());

después de su consulta

y será retern el error como echo

ejemplo

// "Your Query" means you can put "Select/Update/Delete/Set" queries here 
$qfetch = mysqli_fetch_assoc(mysqli_query("your query")) or die(mysqli_error()); 



    if (mysqli_errno()) { 
     echo 'error' . mysqli_error(); 
     die(); 
    } 
Cuestiones relacionadas