Un aggiornamento obbligatorio :poiché mysql ext non esiste più, ecco le risposte per le due API MySQL rimanenti che ho scritto sul mio sito in base all'esperienza di rispondere alle domande di 1000 su Stack Overflow:
- Come segnalare errori in mysqli
- Come connettersi a MySQL utilizzando PDO (al fine di una corretta segnalazione degli errori).
In breve, per mysqi è necessario aggiungere la seguente riga prima di mysqli_connect()
chiama:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
mentre per PDO è necessario impostare, ad esempio, la modalità di errore corretta
$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
A partire dal vecchio mysql ext,
Per ottenere un errore da mysql_query()
devi usare mysql_error()
funzione.
Quindi esegui sempre tutte le tue query in questo modo, almeno fino a quando non sviluppi un gestore di query più avanzato:
$query = "SELECT * FROM 'users'";
$result = mysql_query($query) or trigger_error(mysql_error()." ".$query);
il problema con la tua query attuale è 'users'
parte. Le virgolette singole devono essere utilizzate per delimitare le stringhe mentre per gli identificatori devi usare i backtick:
SELECT * FROM `users`
Per vedere questi errori durante lo sviluppo, aggiungi queste righe nella parte superiore del codice per essere sicuro di poter vedere tutti gli errori verificatisi
ini_set('display_errors',1);
error_reporting(E_ALL);
sul server di produzione, invece, il valore sulla prima riga dovrebbe essere modificato da 1 a 0