[PHP] Errori in lato server ma non in lato client

samurai.sette

Utente Attivo
17 Dic 2015
235
6
18
Ciao a tutti. Avrei bisogno di un vostro aiuto e spero che mi aiuterete.
Ho scritto una pagina php e in locale funziona perfettamente ma quando la carico sul server mi genera due errori. Gli errori sono questi:
PHP:
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /web/htdocs/www.smartstructure.it/home/monitoraggio.php on line 112

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /web/htdocs/www.smartstructure.it/home/monitoraggio.php on line 118
Il codice che riguarda questi due errori è questo:
PHP:
    // leggo i valori di user e password ed estraggo il nome della tabella dove sono registrati i dati
    $user = $_SESSION['username'];
    $pass = $_SESSION['password'];
    $committente = mysql_query("SELECT nome_committente FROM utenti WHERE username = '$user' AND password = '$pass' ORDER BY id");
    $lavoro = mysql_result($committente,0);
    
    // estraggo dalla tabella l'id più piccolo e l'id più grande
    $query = mysql_query("SELECT MIN(id) as min_id, MAX(id) as max_id, id FROM $lavoro");
    $risultato = mysql_fetch_assoc($query);
    $id_minimo = $risultato['min_id'];
    $id_massimo = $risultato['max_id'];

    // estraggo il numero totale delle righe della tabella e calcolo il numero delle pagine (numero delle righe / 30)
    $mydata = mysql_query("SELECT id FROM $lavoro");
    $N = mysql_num_rows ($mydata);
Secondo voi perchè mi genera questi due errori solo lato server?
Ciao, grazie mille.
 
prova a preparare la query in una variabile ed effettuane l'output.
successivamente fai copia-incolla ed eseguila in phpMyAdmin, così vedi se ci sono errori

comunque mysql_fetch_assoc, mysql_query e le altre funzioni che hai usato sono deprecate, è meglio usare MySQLi.
 
Ciao a tutti. Ho seguito il consiglio di livellacri. Ho riscritto il tutto in MySQLi e l'ho ricaricato sul server.
Preciso che questa pagina .php mi deve creare due grafici "Google Chart".
La situazione è questa: in locale funziona perfettamente, mentre in lato server (Aruba) me ne genera soltanto uno senza visualizzare nessun errore.
A questo punto mi sono chiesto: può essere Aruba che mi crea problemi?
Cosa ne pensate?
Ciao, grazie mille
 
ciao
controlla la query
PHP:
$query = mysql_query("SELECT MIN(id) as min_id, MAX(id) as max_id, id FROM $lavoro");
la query è strutturata per estrarre due valori MAX e MIN, ma tu gli chiedi anche di estrarre una serie di valori (id) e probabilmente va in conflitto, prova a correggerla in
PHP:
$query = mysql_query("SELECT MIN(id) as min_id, MAX(id) as max_id FROM $lavoro");
p.s.
ho lasciato mysql ma tu usa mysqli
 

Discussioni simili