-
Errore query PHP
Codice:
Codice PHP:
$DBHOST = 'localhost';
$DBUSER = 'tryhere';
$DBPW = '*';
$DBNAME = 'test';
$connection = mysql_pconnect("$DBHOST","$DBUSER","$DBPW")
or die ("Couldn't connect to server.");
$db = mysql_select_db("$DBNAME", $connection)
or die("Couldn't select database.");
$query = mysql_query('show tables from nome_database');
while ($row=[B]mysql_fetch_row($query)[/B]) {
echo $row[0];
}
Errori:
Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given
-
La funzione mysql_query() restituisce false in caso di errore, e tu non fai alcun controllo, ma passi direttamente il risultato a mysql_fetch_row(), che se ne lamenta.
Controlla prima, e stampa mysql_error().
-
Codice:
if ($query==false)
echo mysql_error();
Intendi così?
-
Codice PHP:
$query = mysql_query('show tables from nome_database') or die (mysql_error());
-
(disclaimer: usare or die(); per gestire gli errori è una pratica un po' barbara, che sarebbe meglio non consigliare :wink: )
Se qualcosa non funziona, non è bello presentare all'utente una pagina troncata con un messaggio di errore. Gli errori andrebbero gestiti:
Codice PHP:
if ( $query = mysql_query('show tables from nome_database') ) {
while ( $row = mysql_fetch_row($query) ) {
echo $row[0];
}
} else {
echo "Errore nell'elencare le tabelle di nome_database!";
// echo "Debug: " . mysql_error(); // commentata una volta che il sito è completo
}