Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Perché Breath of the Wild è uno dei migliori Zelda di sempre
Perché Breath of the Wild è uno dei migliori Zelda di sempre
Dopo aver completato il lunghissimo nuovo gioco per Nintendo Switch e Wii U, Stefano, grande esperto della serie, ci racconta tutto sui giochi con Link, ci svela i retroscena e ci fornisce la sua prospettiva su come la serie è cambiata nel corso del tempo.
La nuova fascia media di AMD: Radeon RX 580 e Radeon RX 570
La nuova fascia media di AMD: Radeon RX 580 e Radeon RX 570
AMD aggiorna le proprie soluzioni di fascia media con le schede Radeon RX 580 e Radeon RX 570, proposte che sono basate sulla stessa architettura Polaris delle schede Radeon RX 400 vantando un lieve aumento delle frequenze di clock. Abbiamo analizzato le proposte MSI, Sapphire e Asus a confronto con 3 schede basate su GPU GeForce GTX 1060 di NVIDIA
Honor 8 Pro, la recensione del nuovo top di gamma dell'azienda
Honor 8 Pro, la recensione del nuovo top di gamma dell'azienda
Honor ha deciso di puntare in alto e dal prossimo 20 aprile venderà il nuovo Honor 8 Pro. Uno smartphone dal design elegante, con doppia fotocamera posteriore e un’autonomia da vero combattente. Ecco la nostra recensione completa.
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: 1870
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


Perché Breath of the Wild è uno dei migliori Zelda di sempre Perché Breath of the Wild è uno de...
La nuova fascia media di AMD: Radeon RX 580 e Radeon RX 570 La nuova fascia media di AMD: Radeon RX 580 e Ra...
Honor 8 Pro, la recensione del nuovo top di gamma dell'azienda Honor 8 Pro, la recensione del nuovo top di gamm...
Sony A9: la full frame professionale ora è mirrorless Sony A9: la full frame professionale ora è...
Facebook F8: realtà virtuali, aumentate e un Messenger sempre più smart Facebook F8: realtà virtuali, aumentate e un Mes...
Una nuova scheda AMD Radeon Pro Duo per ...
European Hardware Award 2017 - ecco la l...
HP Omen con Intel Core i7-7700HQ, displa...
Galaxy S8 vende molto più del pre...
Batman Arkham VR disponibile per HTC Viv...
Netgear EX3700-100PES Ripetitore Wireles...
Cliff Bleszinski: il modello dei titoli ...
AMD conferma, nuovamente, il debutto di ...
HP 250 G5: Full HD da 15,6 pollici con C...
Galaxy Note 7 ricondizionati in arrivo a...
Twitter pensa alla trasmissione di video...
Su TomTop 5 prodotti a ottimi prezzi tra...
Videogiochi: per giocatori più im...
NVIDIA aggiorna i driver video con GeFor...
Moto Z2 Play: la prima immagine reale mo...
Process Lasso
Chromium
Comodo Internet Security
Comodo AntiVirus
Opera 44
Driver NVIDIA GeForce 381.89 WHQL
Utilu Mozilla Firefox Collection
K-Lite Codec Pack Update
K-Lite Mega Codec Pack
K-Lite Codec Pack Full
K-Lite Codec Pack Standard
Sandboxie
Avant Browser
Zoom Player Free
AIDA64 Extreme Edition
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: 12:57.


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