Une mise à jour obligatoire :comme mysql ext n'est plus, voici les réponses pour les deux API MySQL restantes que j'ai écrites sur mon site sur la base de l'expérience acquise en répondant à des milliers de questions sur Stack Overflow :
- Comment signaler des erreurs dans mysqli
- Comment se connecter à MySQL en utilisant PDO (dans le but de rapporter correctement les erreurs).
En bref, pour mysqi la ligne suivante doit être ajoutée avant mysqli_connect()
appeler :
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
tandis que pour PDO, le mode d'erreur approprié doit être défini, par exemple
$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
À partir de l'ancien poste mysql,
Pour obtenir une erreur de mysql_query()
vous devez utiliser mysql_error()
fonction.
Exécutez donc toujours toutes vos requêtes de cette manière, au moins jusqu'à ce que vous développiez un gestionnaire de requêtes plus avancé :
$query = "SELECT * FROM 'users'";
$result = mysql_query($query) or trigger_error(mysql_error()." ".$query);
le problème avec votre requête actuelle est 'users'
partie. Les guillemets simples doivent être utilisés pour délimiter les chaînes tandis que pour les identifiants, vous devez utiliser des backticks :
SELECT * FROM `users`
Afin de voir ces erreurs lors du développement, ajoutez ces lignes en haut de votre code pour être sûr de voir toutes les erreurs survenues
ini_set('display_errors',1);
error_reporting(E_ALL);
sur le serveur de production, cependant, la valeur de la première ligne doit être changée de 1 à 0