sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo puedo depurar por qué la consulta MySQL más simple devuelve falso?

Una actualización obligatoria :como mysql ext ya no existe, aquí hay respuestas para dos API de MySQL restantes que escribí en mi sitio en función de la experiencia de responder miles de preguntas en Stack Overflow:

En resumen, para mysqi se debe agregar la siguiente línea antes de mysqli_connect() llamar:

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

mientras que para PDO se debe configurar el modo de error adecuado, por ejemplo

$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

A partir del antiguo mysql ext,

Para obtener un error de mysql_query() tienes que usar mysql_error() función.
Así que siempre ejecute todas sus consultas de esta manera, al menos hasta que desarrolle un controlador de consultas más avanzado:

$query = "SELECT * FROM 'users'";
$result = mysql_query($query) or trigger_error(mysql_error()." ".$query);

el problema con su consulta actual es 'users' parte. Deben usarse comillas simples para delimitar cadenas, mientras que para los identificadores debe usar acentos graves:

SELECT * FROM `users`

Para ver estos errores durante el desarrollo, agregue estas líneas en la parte superior de su código para asegurarse de que pueda ver todos los errores ocurridos

ini_set('display_errors',1);
error_reporting(E_ALL);

en el servidor de producción, sin embargo, el valor de la primera línea debe cambiarse de 1 a 0