|
|
|
|
Strumenti |
08-11-2008, 09:31 | #1 |
Member
Iscritto dal: Aug 2005
Messaggi: 244
|
[PHP + mysql] query vuota
Ciao a tutti,
sto usando php per eseguire delle query su un DB mysql. Mi capita spesso di vedere che se la query eseguita risulta vuota (0 record), poi non mi è possibile utilizzare la variabile contenente il risultato della query in nessun modo. Sarà un problema comune, ma nonostante i miei sforzi non ho trovato nulla in rete. Quello che mi servirebbe fare è controllare con un if se la query è vuota e, se non lo è, stampare a video delle informazioni. Ho provato ad usare mysql_num_rows(), ma mi ritorna questo errore: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in nomefile.php on line 116 stessa cosa se utilizzo il mysql_fetch_array() e la query è vuota: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in nomefile.php on line 119 Avevo anche provato a fare così: Codice PHP:
Ma la query è valida, semplicemente non ha record. Avete idea di cosa dovrei usare per controllare se la query è vuota o meno in modo da non richiamare la funzione mysql_fetch_array() e ritrovarmi l'errore sopra postato? Grazie in anticipo
__________________
... I believe in miracles / I believe in a better world / for me and you ... ...Music is like sunrise for me / it's joyful like a trip in a time machine... ...Sei solo corri, corri, corri, corri / Non ti voltare mai... Ultima modifica di dany84 : 08-11-2008 alle 10:38. |
08-11-2008, 11:02 | #2 |
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
Codice:
$result = mysql_query($myquery,$dbconn); $res_num = mysql_num_rows($result); if ($res_num > 0) echo "risultati trovati ".$res_num; else echo "nessun risultato trovato";
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt. |
09-11-2008, 19:39 | #3 |
Member
Iscritto dal: Aug 2005
Messaggi: 244
|
purtroppo mi dà lo stesso identico errore sulla riga:
Codice PHP:
__________________
... I believe in miracles / I believe in a better world / for me and you ... ...Music is like sunrise for me / it's joyful like a trip in a time machine... ...Sei solo corri, corri, corri, corri / Non ti voltare mai... |
11-11-2008, 00:01 | #4 |
Senior Member
Iscritto dal: Sep 2007
Messaggi: 316
|
molto strano..
prova a postarci l'intero pezzo di codice, query inclusa e vediamo di capire il perchè |
11-11-2008, 09:59 | #5 |
Senior Member
Iscritto dal: Nov 2003
Messaggi: 980
|
ma hai provato a fare
Codice:
$result = mysql_query($myquery,$dbconn); if (!$result) echo mysql_error(); Sei sicuro di esserti connesso al database prima? Se hai una sola connessione ad un database puoi anche non usare $dbconn... |
11-11-2008, 10:07 | #6 | ||
Member
Iscritto dal: Aug 2005
Messaggi: 244
|
Quote:
Quote:
Comunque farò anche questa prova, vediamo che dice. Ho una connessione sola cmq, ma mi dici che cambia specificare ogni volta o meno la connessione? Ci sono dei vantaggi/svantaggi? Grazie
__________________
... I believe in miracles / I believe in a better world / for me and you ... ...Music is like sunrise for me / it's joyful like a trip in a time machine... ...Sei solo corri, corri, corri, corri / Non ti voltare mai... |
||
11-11-2008, 17:22 | #7 | |
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
Quote:
prova a postare la query e magari anche che versione di php e mysql stai utilizzando.
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt. |
|
11-11-2008, 19:48 | #8 |
Member
Iscritto dal: Aug 2005
Messaggi: 244
|
Ragazzi ho trovato l'errore grazie alla funziona mysql_error() come mi avevate consigliato.
In pratica quando facevo la query direttamente da mysql funzionava correttamente in quanto la scrivevo io a mano, ma con php, dato che nel where avevo messo un po' di variabili, la stringa della query non risultava corretta, errori di sintassi insomma Quindi funziona tutto ora. Grazie dell'aiuto e scusate se vi ho fatto perder tempo
__________________
... I believe in miracles / I believe in a better world / for me and you ... ...Music is like sunrise for me / it's joyful like a trip in a time machine... ...Sei solo corri, corri, corri, corri / Non ti voltare mai... |
20-02-2010, 14:28 | #9 |
Senior Member
Iscritto dal: May 2003
Città: Palermo
Messaggi: 2457
|
salve a tutti
anche io ho lo stesso problema. non riesco a far comparire un messaggio di errore se la query restituisce un risultato vuoto questo è il codice Codice:
$sql = "SELECT pt.topic_id, pt.topic_title FROM ". TOPICS_TABLE." pt WHERE pt.topic_title like '$key' ORDER BY pt.topic_id"; $db->sql_query($sql); $result = $db->sql_query($sql); if (mysql_num_rows($result) == 0 ) { trigger_error('NO_SEARCH_RESULTS'); } while ($row = $db->sql_fetchrow($result)) { $template->assign_block_vars('cerca_list', array( 'TOPIC_ID' => $row['topic_id'], //'POST_ID' => $row['post_id'], 'TOPIC_TITLE' => $row['topic_title'], 'TOPIC_LINK' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 't='.$row['topic_id']), //'POST_AUTHOR' => $row['username'], )); } grazie a tutti |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:33.