Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Android M è ufficiale: tutte le novità della nuova versione
Android M è ufficiale: tutte le novità della nuova versione
Nel corso della serata di ieri è stato annunciato ufficialmente Android M, la nuova release del sistema operativo di Google che vedrà la luce entro la fine dell'anno. Già disponibile in versione beta su quattro dispositivi della famiglia Nexus, Android M si pone come un lavoro soprattutto d'ottimizzazione, con novità previste per migliorare prestazioni, durata della batteria e, non da ultimo, l'esperienza d'uso finale
Quale MacBook per 1499 Euro?
Quale MacBook per 1499 Euro?
Tre configurazioni diverse, per tre sistemi differenti, ma tutti allo stesso prezzo: 1499 euro. Sono queste le proposte, tra il nuovo MacBook 12 e i già noti MacBook Pro 13 e MacBook Air 13 che il pubblico può trovare all'interno del listino Apple. Vediamo le differenze e cerchiamo di capire le possibili destinazioni d'uso
Recensione The Witcher 3 PC: ecco com'è sulla piattaforma regina
Recensione The Witcher 3 PC: ecco com'è sulla piattaforma regina
Nella nostra recensione di The Witcher 3 Wild Hunt vi proponiamo confronti fra le opzioni grafiche disponibili nel nuovo titolo con RED Engine 3, l'analisi delle caratteristiche di gioco e un parere sul valore artistico del nuovo rpg. Che non è certo semplice da recensire, visto che servono più di 60 ore per completarlo!
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: 1802
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


Android M è ufficiale: tutte le novità della nuova versione Android M è ufficiale: tutte le novit&agr...
Quale MacBook per 1499 Euro? Quale MacBook per 1499 Euro?
Recensione The Witcher 3 PC: ecco com'è sulla piattaforma regina Recensione The Witcher 3 PC: ecco com'è s...
Foto da record del Monte Bianco a 365 Gigapixel: ecco i retroscena Foto da record del Monte Bianco a 365 Gigapixel:...
Sony Xperia Z3+ (e non Z4) è il nuovo top di gamma Sony Xperia Z3+ (e non Z4) è il nuovo top...
Le chiamate vocali di WhatsApp arrivano ...
GPU, SMS che mandano in tilt gli iPhone,...
Il nuovo sistema operativo di Google &eg...
Google Jump e il nuovo sistema di GoPro ...
Wildstar diventa free-to-play
FarmVille Coltiva e Combina: Zynga sfida...
MSI presenta Masters Gaming Arena 2015, ...
Avago Technologies acquisisce Broadcom p...
Nuovo smartphone Lenovo rende qualsiasi ...
Cresce il mercato degli smartphone insie...
Festival di Cannes, Palma d'Oro a Dheepa...
Google Cardboard diventa compatibile con...
Catalyst 15.5 beta per Project Cars e Th...
CD Projekt: è ancora troppo presto per p...
Memorie DRAM: prezzi in discesa, ma sali...
ACDSee
NOD32
Opera 30
Sandboxie
Driver AMD Catalyst 15.5 beta
Dropbox
MSI Afterburner
Trillian Astra
Media Player Classic Home Cinema
GPU-Z
Chromium
SiSoftware Sandra Lite 2015
Avira AntiVir Rescue System
AIDA64 Extreme Edition
GeForce Experience
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: 19:19.


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