Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\dieffeweb\database\registration.ph p on line 11
Salve a tutti. Cosa vuol dire di preciso questo warning?? Come faccio ad evitarlo?
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\dieffeweb\database\registration.ph p on line 11
Salve a tutti. Cosa vuol dire di preciso questo warning?? Come faccio ad evitarlo?
Ti suggerisco di iniziare leggendo il manuale ufficiale:
http://www.php.net/mysql_error
Per il futuro, sarebbe utile che tu postassi un intorno del codice che solleva l'errore.
Ma a me non interessa mostrare l'errore, bensì eliminarlo. Anche perchè dopo questo warning l'esecuzione del codice seguente procede correttamente, ma con questo messaggio fastidioso...Originariamente inviato da filippo.toso
Ti suggerisco di iniziare leggendo il manuale ufficiale:
http://www.php.net/mysql_error
Per il futuro, sarebbe utile che tu postassi un intorno del codice che solleva l'errore.
Se non sai con esattezza quale è l'errore, come fai ad eliminarlo?Originariamente inviato da Dreamer89
Ma a me non interessa mostrare l'errore, bensì eliminarlo.
Posta il risultato della chiamata a mysql_error().
Procederà anche "correttamente", ma visto che mysql_fetch_row() fallisce, non tutto il codice viene eseguito correttamente.Originariamente inviato da Dreamer89
Anche perchè dopo questo warning l'esecuzione del codice seguente procede correttamente, ma con questo messaggio fastidioso...
Vai al link che ti è stato suggerito e cerca di capire come mai ti esce quell'errore, poi vai a vedere cosa si aspetta la funzione come variabili e confrontale con quelle che stai passando tu...
Niente pappa pronta qui.. Giustamente![]()
...::: DESIDERARE E' UMANO :::...
...::: POSSEDERE E' DIVINO :::...
...::: HAVE A NICE DAY :::...
(¯`·.¸¸.->ĐĮ ĦΞŁŁ<-.¸¸.·`¯)
http://www.djhellclub.com
Questo il codice. Praticamente devo verificare che un record sia presente o meno in base al nick o all'e-mail. Ho richiamato la funzione mysql_error() ma il risultato è lo stesso.codice:$ris = mysql_query ("SELECT FROM users WHERE nick = '" . $nick . "' OR email = '" . $email . "'"); if (count (mysql_fetch_row ($ris)) > 0) { mysql_error(); if ($lang == "en") die ("Nick or e-mail are already registered"); else if ($lang == "it") die ("Nick o e-mail sono già registrati"); }
p.s. questo è un esempio di come procedere, l'errore è che non metti nulla tra SELECT e FROM.codice:$ris = mysql_query ("SELECT FROM users WHERE nick = '" . $nick . "' OR email = '" . $email . "'"); if($ris) { if(mysql_num_rows($ris)) { echo 'già presente'; } else { echo 'non presente'; } } else { echo 'La query è sbagliata e php non c\'entra nulla, di seguito l\'errore dato da mysql:'.mysql_error(); }
es.
SELECT * FROM
SELECT id FROM
![]()
La chiamata a mysql_error() va fatta PRIMA di mysql_fetch_row() o, almento, all'esterno dell'IF, altrimenti NON verrà mai eseguita. Inoltre devi scrivere:
Od un codice simile. Richiamare la funzione senza inviarne il risultato in output è praticamente inutile ai fini del problema che stai affrontando.Codice PHP:
echo(mysql_error());
Edit: Vedi l'errore individuato da gianiaz.
io farei:
edit: stavo scrivendo la mia correzione nel mentre che voi avete risposto, altrimenti non l'avrei fatto.. faccio +Codice PHP:
$errore = ($lang == "it")?"Ciccia in italiano":"Ciccia in inglese";
$sql = "SELECT COUNT(*) WHERE nick = '{$nick}' OR $email = '{$email}'";
$q = mysql_query($sql);
if ($r = mysql_fetch_array($q))
if ($r[0])
die($errore);
![]()
...::: DESIDERARE E' UMANO :::...
...::: POSSEDERE E' DIVINO :::...
...::: HAVE A NICE DAY :::...
(¯`·.¸¸.->ĐĮ ĦΞŁŁ<-.¸¸.·`¯)
http://www.djhellclub.com
non vorrei dire una cavolata, mi sembra di averlo letto tempo fa da qualche parte, ma a occhio e croce è meglio:
piuttosto che count(*)codice:$sql = "SELECT COUNT(uncampodellatabella) WHERE nick = '{$nick}' OR $email = '{$email}'";
![]()