Torna indietro   Hardware Upgrade Forum > Software > Programmazione

28 nuovi processori Intel Skylake al debutto
28 nuovi processori Intel Skylake al debutto
Il debutto della nuova generazione di processori Intel per sistemi PC può dirsi ormai quasi del tutto completo: all'IFA di Berlino l'azienda americana presenta la gamma completa di CPU di nuova generazione per sistemi mobile affiancando le nuove proposte Core m e i primi processori Xeon per workstation mobile
Tiki Taka Soccer: Sensible Soccer è di nuovo tra noi
Tiki Taka Soccer: Sensible Soccer è di nuovo tra noi
Questo articolo rappresenta un duplice evento: da un lato il mio ritorno su queste pagine, dopo un cospicuo numero di mesi, dall’altro il fatto più unico che raro che io sia qui a scrivere di un gioco mobile.
Motorola Moto G 2015, una conferma senza troppi fronzoli
Motorola Moto G 2015, una conferma senza troppi fronzoli
Anche quest'anno come ormai tradizione da due generazioni è giunto il momento dell'annuncio della nuova versione di Motorola Moto G, un dispositivo che si inserisce nella fascia medio/bassa del mercato con caratteristiche tecniche interessanti e un prezzo competitivo ma che potrebbe essere ancora limato verso il basso
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-11-2008, 09:31   #1
dany84
Member
 
L'Avatar di dany84
 
Iscritto dal: Aug 2005
Messaggi: 235
[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:
$result mysql_query($myquery,$dbconn);
if (
$result) {
   echo 
"ciao";

dato che sul manuale php avevo letto che la funzione mysql_query() ritorna FALSE se la query non è valida.
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.
dany84 è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2008, 11:02   #2
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2508
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";
prova se così funziona
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 09-11-2008, 19:39   #3
dany84
Member
 
L'Avatar di dany84
 
Iscritto dal: Aug 2005
Messaggi: 235
Quote:
Originariamente inviato da vizzz Guarda i messaggi
prova se così funziona
purtroppo mi dà lo stesso identico errore sulla riga:

Codice PHP:
$res_num mysql_num_rows($result); 
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in nomefile.php on line 118

__________________
... 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...
dany84 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2008, 00:01   #4
avastreg
Senior Member
 
L'Avatar di avastreg
 
Iscritto dal: Sep 2007
Messaggi: 300
molto strano..

prova a postarci l'intero pezzo di codice, query inclusa e vediamo di capire il perchè
avastreg è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2008, 09:59   #5
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 966
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...
kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2008, 10:07   #6
dany84
Member
 
L'Avatar di dany84
 
Iscritto dal: Aug 2005
Messaggi: 235
Quote:
Originariamente inviato da avastreg Guarda i messaggi
molto strano..

prova a postarci l'intero pezzo di codice, query inclusa e vediamo di capire il perchè
Lo posterò stasera o domani sera, grazie

Quote:
Originariamente inviato da kk3z Guarda i messaggi
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...
No, non ci ho provato, ma la connessione al database funziona, se inserisco dei record all'interno della tabella che mi interessa e faccio girare quel pezzo di codice con la query sulla tabella appena riempita, funziona. Dà errore solo se il recordcount della query è 0
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...
dany84 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2008, 17:22   #7
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2508
Quote:
Originariamente inviato da dany84 Guarda i messaggi
Ho una connessione sola cmq, ma mi dici che cambia specificare ogni volta o meno la connessione? Ci sono dei vantaggi/svantaggi?
Grazie
Specificare la connessione è necessario solo se nello stesso script (pagina) utilizzi più connessione al/ai database.
prova a postare la query e magari anche che versione di php e mysql stai utilizzando.
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2008, 19:48   #8
dany84
Member
 
L'Avatar di dany84
 
Iscritto dal: Aug 2005
Messaggi: 235
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...
dany84 è offline   Rispondi citando il messaggio o parte di esso
Old 20-02-2010, 14:28   #9
net83it
Senior Member
 
L'Avatar di net83it
 
Iscritto dal: May 2003
Città: Palermo
Messaggi: 1804
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'],
   ));
}
si tratta di una semplice query di ricerca all'interno di uno script phpbb3

grazie a tutti
__________________
Notebook Hp Pavilion dv5194, Hitachi 200g@7200, 2G DRAM
net83it è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


28 nuovi processori Intel Skylake al debutto 28 nuovi processori Intel Skylake al debutto
Tiki Taka Soccer: Sensible Soccer è di nuovo tra noi Tiki Taka Soccer: Sensible Soccer è di nu...
Motorola Moto G 2015, una conferma senza troppi fronzoli Motorola Moto G 2015, una conferma senza troppi ...
Bitcoin XT, l'ombra di uno scisma sulla criptovaluta più famosa Bitcoin XT, l'ombra di uno scisma sulla criptova...
Until Dawn e la forza dell’effetto farfalla Until Dawn e la forza dell’effetto farfalla
Toshiba Satellite Radius 12: convertibil...
Huawei Mate S anticipa iPhone 6S ed &egr...
Su Globalfoundries gli occhi degli inves...
Asus VivoStick: un PC con Windows 10 in ...
Asus ZenWatch 2 in commercio ad ottobre ...
Gigaset ME: foto dal vivo, prezzi, dispo...
DooM: un video sul motore grafico id Tec...
Nuovi Mediacom SmartPad iPro, permettono...
Archos Diamond Plus, octa-core e ampio d...
Lenovo annuncia i nuovi portatili ThinkP...
Supporto a YouTube Gaming per PS4 con fi...
Acer presenta Predator 8, un tablet espr...
Da Acer un sistema desktop all-in-one e ...
Windows 10 ha superato Windows 8 e Vista...
Senzacensura.eu censurato: 'Fomentava l'...
Sandboxie
QuickTime per Windows
Filezilla
K-Lite Codec Tweak Tool
K-Lite Mega Codec Pack
K-Lite Codec Pack Full
K-Lite Codec Pack Standard
K-Lite Codec Pack Basic
GPU Caps Viewer
AIDA64 Extreme Edition
Process Lasso
Internet Download Manager
Chromium
Firefox 41
Advanced Codec per Windows
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 22:46.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2015, Jelsoft Enterprises Ltd.
Served by www3v