Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Prisma, tutti i filtri provati per voi e qualche avvertimento per non sprecare traffico
Prisma, tutti i filtri provati per voi e qualche avvertimento per non sprecare traffico
Sta letteralmente spopolando la app Prisma, che consente di convertire in modo davvero semplice una foto in un'immagine dal sapore artistico. L'abbiamo provata per voi, permettendovi di prevedere il risultato finale senza provarli tutti. Essendo una app cloud, infatti, il rischio è quello di sprecare un sacco di traffico dati
Zowi: il robottino che insegna ai più piccoli a programmare con Arduino
Zowi: il robottino che insegna ai più piccoli a programmare con Arduino
Per insegnare fin da piccoli in modo giocoso i rudimenti dell'informatica il marchio spagnolo BQ propone Zowi, un piccolo robottino. Zowi ha come cuore una scheda Arduino compatibile disegnata e prodotta dalla stessa BQ: BQ Zum Core. Zowi ha due sensori di prossimità a ultrasuoni, un cicalino, una serie di LED al posto della bocca e un microfono per rispondere a stimoli esterni.
Nikon D5, recensione completa della nuova ammiraglia reflex dalle specifiche stellari
Nikon D5, recensione completa della nuova ammiraglia reflex dalle specifiche stellari
Specifiche da capogiro, ma anche molta concretezza e solide performance per la nuova Nikon D5, che migliora la precedente top di gamma sotto ogni singolo aspetto: risoluzione, velocità, autofocus, prestazioni video e LiveView. Ecco la nostra recensione completa, con scatti i laboratorio, nelle principali situazioni d'uso reale e con in più anche il parere di una fotografa professionista
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: 1805
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


Prisma, tutti i filtri provati per voi e qualche avvertimento per non sprecare traffico Prisma, tutti i filtri provati per voi e qualche...
Zowi: il robottino che insegna ai più piccoli a programmare con Arduino Zowi: il robottino che insegna ai più pic...
Nikon D5, recensione completa della nuova ammiraglia reflex dalle specifiche stellari Nikon D5, recensione completa della nuova ammira...
Asynchronous TimeWarp: cos'è, come migliora la VR e quali sono le sue limitazioni Asynchronous TimeWarp: cos'è, come miglio...
Kick Off Revival stavolta non si salva nemmeno in 'calcio d'angalo' Kick Off Revival stavolta non si salva nemmeno i...
Continuano le offerte Amazon: tuttofare ...
Microsoft Pix per iOS, l'app camera che ...
Samsung, trimestre migliore degli ultimi...
Sempre positive le vendite di smartphone...
Arrivano su Apple Maps parcheggi, posti ...
Raccolta della Famiglia: acquisti su Goo...
Microsoft, ancora guai legali con l'aggi...
Facebook inarrestabile: quasi 2 miliardi...
Apple vende il miliardesimo iPhone
Nintendo, perdite consistenti nel Q1
Addio HERE Maps, benvenuta HERE WeGo
GO internet, partnership con Enel Open F...
Tesla rompe con Mobileye dopo l'incident...
Remix OS, l'Android per PC si aggiorna a...
Per non rimanere a secco carichiamo lo s...
Firefox 48
Filezilla
Chromium
IObit Uninstaller
Skype
Backup4all
K-Lite Codec Pack Update
K-Lite Codec Tweak Tool
K-Lite Codec Pack Full
K-Lite Mega Codec Pack
AIDA64 Extreme Edition
Avira Free Antivirus
PeaZip
HyperSnap
VirtualBox
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: 11:27.


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