|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Aug 2005
Messaggi: 306
|
[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 11:38. |
|
|
|
|
|
#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.
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Aug 2005
Messaggi: 306
|
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... |
|
|
|
|
|
#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è |
|
|
|
|
|
#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... |
|
|
|
|
|
#6 | ||
|
Member
Iscritto dal: Aug 2005
Messaggi: 306
|
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... |
||
|
|
|
|
|
#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.
|
|
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Aug 2005
Messaggi: 306
|
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... |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: May 2003
Città: Palermo
Messaggi: 2462
|
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: 13:16.











ho concluso con: kvegeta, doctordb, Leland Gaunt.










