PDA

View Full Version : [PHP] Problema con Easyphp


Luca 88
04-11-2009, 14:03
Ciao a tutti,

oggi ho reinstallato easyphp sul mio pc (precedentemente avevo una versione piu vecchia e la registrazione che avevo fatto andava perfettamente) ora quando provo a registrarmi mi viene visualizzato questo errore:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\Program Files\EasyPHP5.3.0\www\Prova\registra.php on line 26

sto facendo il sito con un mio amico e ho installato la sua stessa versione di easyphp (5.3.0) e a lui funziona perfettamente (come a me prima di installare nuovamente easyphp)...

quale puo essere il problema?

ho aggiunto anche or die(mysql_error()) per vedere cosa mi diceva e oltre all'errore mi viene scritto "Nessun database selezionato"

non riesco proprio a capire come mai...

kurts
04-11-2009, 17:47
non penso proprio che il problema sia con easyphp.

probabilmente hautilizzato iun modo errato la funzione mysql_num_rows() di php.

puoi postare almeno il pezzetto di codice attorno alla riga incriminata?

vhost87
05-11-2009, 07:39
non penso proprio che il problema sia con easyphp.

probabilmente hautilizzato iun modo errato la funzione mysql_num_rows() di php.

puoi postare almeno il pezzetto di codice attorno alla riga incriminata?

Esatto... tra l'altro è solo un warning.

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given

flx2000
05-11-2009, 10:01
L'errore viene generato quando si esegue il comando mysql_num_rows direttamente su una query invece che sulla risorsa generata dalla query.

In pratica immagino che hai scritto qualcosa come mysql_num_rows("select ... ecc.ecc.") invece dovevi fare $res = mysql_query("select ...ecc.ecc.") e poi potevi dare mysql_num_rows($res)

vhost87
05-11-2009, 10:08
L'errore viene generato quando si esegue il comando mysql_num_rows direttamente su una query invece che sulla risorsa generata dalla query.

In pratica immagino che hai scritto qualcosa come mysql_num_rows("select ... ecc.ecc.") invece dovevi fare $res = mysql_query("select ...ecc.ecc.") e poi potevi dare mysql_num_rows($res)

Mmm... in quel caso dovrebbe riportare un errore, non un warning.

Il warning dovrebbe comparire perché nel mysql_num_rows non viene passato alcun parametro di un result set mysql... in poche parole non stai passando niente alla mysql_num_rows :)

flx2000
05-11-2009, 10:31
Mmm... in quel caso dovrebbe riportare un errore, non un warning.

Il warning dovrebbe comparire perché nel mysql_num_rows non viene passato alcun parametro di un result set mysql... in poche parole non stai passando niente alla mysql_num_rows :)

Sì, è più probabile che sia così infatti. Ad ogni modo la soluzione da apportare è la medesima :cool:

vhost87
05-11-2009, 10:39
Sì, è più probabile che sia così infatti. Ad ogni modo la soluzione da apportare è la medesima :cool:

Però... può succedere.
Metti

error_reporting(E_ERROR);

e dimenticati dei warning anche se non è correttissimo ignorarli... (un motivo ce perche la funzione php non ottiene alcun record set? ;) )

Luca 88
05-11-2009, 13:57
grazie a tutti per l'aiuto... comunque ho risolto... praticamente quello che non andava bene era la connessione con il database... che io avevo chiamato connessioneDB.php... all'interno del file davo un nome diverso al database, l'ho cambiato d è tornato tutto a posto...

grazie ancora!

alla prossima!