PHP: mysql_fetch_assoc() postato il 24/05/2007 20:30:59 nel forum programmazione, gdrcd, open source, hosting
Buona sera a tutti. Ringrazio anticipatamente per le risposte che gentilmente vorrete formirmi.
Non riesco ad utilizzare questa maledetta funzione.
mysql_fetch_assoc()
Il codice in cui compare questa funzione è il seguente, generalizzato.
$conn=@mysql_connect('localhost','root','password') or die ("Messaggio di errore.");
mysql_select_db('miosito', $conn);
$query=mysql_query("SELECT * FROM utenti WHERE nomeutente='$nomeutente' passutente='$passutente'");
$result=mysql_fetch_assoc($query);
Considerate che le variabili $nomeutente e $passutente sono state settate da un form con metodo POST.
Ma non è quello il problema. Quando compilo il form, che in pratica vuol essere un form di login, il risultato è il seguente.
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in [PERCORSO] on line [LINEA]
La linea dove mi segnala l'errore è proprio quella dove compare la funzione. Per qualche dannato motivo sembra che l'argomento fornito alla funzione non sia valido.
Qualcuno può aiutarmi, per favore?
Pagine → 1
25/05/2007 00:22:40
Ho provato, ma sfortunatamente fa lo stesso errore... Sinceramente, non capisco... Non mi sembra che la sintassi del codice sia scorretta o incompleta. Eppure continua a darmi lo stesso errore.
Ho potuto intuire dall'errore che non considera valida la query, o meglio, non considera validi i risultati della query...
Ma, vi prego, ditemi di più..
25/05/2007 09:04:39
L'errore è - come segnala il php - nella query...
devi modificare:
$query=mysql_query("SELECT * FROM utenti WHERE nomeutente='$nomeutente' AND passutente='$passutente'");
sempre premetendo che il resto della query sia giusta
25/05/2007 14:58:17
Niente da fare. Ho utilizzato echo con le variabili prima e dopo la query, e vengono tutte visualizzate senza problemi. Non è un problema di variabili a quanto pare.
Per quanto riguarda la query, avevo già pensato che potesse essere la mancanza di AND a dare problemi, ma anche la sua aggiunta non ha cambiato le cose.
L'errore è sempre lo stesso.. Non so proprio cosa fare. Sono fermo a questo punto.
A essere sincero, non è la prima volta che trovo problemi con mysql_fetch_array o assoc o quant'altro. Ho scritto altre pagine utilizzando questa funzione, e talvolta la esegue correttamente. Poi continuo a scrivere il codice, modifico qualcosa e di colpo prende a non funzionare più.. Ma non capisco COSA non fa eseguire la funzione...
25/05/2007 15:11:00
Va bene, allora facciamo così. Vi posto direttamente tutto il file, così magari avete le idee più chiare sul problema.
<html>
<head>
<title>Menu</title>
</head>
<body bgcolor="#99CCFF" background="Immagini/SF02.jpg" bgproperties="fixed" link="blue" alink="blue" vlink="blue">
<font face="Verdana" size="3" color="black">
<font face="Verdana" size="1" color="black">
<p>
<b>
<?
if(isset($_POST['accedi'])){
$nomeimm=$_POST['nomeutente'];
$passimm=$_POST['passutente'];
echo "$nomeimm";
echo "$passimm";
$connessione=@mysql_connect('localhost','cifitadmin','3009') or die("Tentativo di connessione al server MySQL fallito.");
mysql_select_db('cif_italia',$connessione);
$qlogin=mysql_query("SELECT * FROM utenti WHERE nomeutente='$nomeimm' AND passutente='$passimm'");
$res=mysql_fetch_assoc($qlogin);
echo "Login effettuato.<br>Utente: ";
echo $res['nome'];
echo " ";
echo $res['cognome'];
echo ".";
} else {
echo <<< EOD
Login non effettuato. Vai alla procedura di <a href="Login.php" target="Pagina">Login</a> o alla <a href="Registrazione.php" target="Pagina">Registrazione</a>.
EOD;
}
?>
</b>
</p>
</font>
</body>
</html>
25/05/2007 15:36:21
scusa ma quando fai la query non puoi aggiungere la riga così:
$query = mysql_query("SELECT etcetc") or die(mysql_error()); così capisci se c'è un errore nella query?
25/05/2007 16:05:06
Ho cercato di capire l'errore.. Ho inserito la funzione die sull stringa della query, e in effetti mi restituisce il testo di die, quindi c'è un errore nella query. Ho provato anche a semplificare la query tanto per fare una verifica. Risultato?
Mi restituisce il testo die anche con una semplicissima query del genere.
$var=mysql_query("SELECT * FROM utenti");
A quanto pare è per questo che mysql_fetch_assoc non funziona.. Ora, la domanda è.. come cavolo si setta la dannatissima query? Sbaglio la forma?
O magari, comincio a pensare, c'è qualche impostazione in php.ini o comunque qualche altra configurazione non settata?
25/05/2007 16:23:38
Ecco qui, posto l'ultimo stato dello codice. Lo script viene interrotto a causa della query.
<html>
<head>
<title>Menu</title>
</head>
<body bgcolor="#99CCFF" background="Immagini/SF02.jpg" bgproperties="fixed" link="blue" alink="blue" vlink="blue">
<font face="Verdana" size="3" color="black">
<font face="Verdana" size="1" color="black">
<p>
<b>
<?
if(isset($_POST['accedi'])){
$nomeimm=$_POST['nomeutente'];
$passimm=$_POST['passutente'];
echo "$nomeimm";
echo "$passimm";
$connessione=@mysql_connect('localhost','cifitadmin','3009') or die("Tentativo di connessione al server MySQL fallito.");
mysql_select_db('cif_italia',$connessione) or die("Errore nella selezione del database!");
$qlogin=mysql_query("SELECT * FROM utenti") or die("Errore nella query");
$res=mysql_fetch_assoc($qlogin);
echo "Login effettuato.<br>Utente: ";
echo $res['nome'];
echo " ";
echo $res['cognome'];
echo ".";
} else {
echo <<< EOD
Login non effettuato. Vai alla procedura di <a href="Login.php" target="Pagina">Login</a> o alla <a href="Registrazione.php" target="Pagina">Registrazione</a>.
EOD;
}
?>
</b>
</p>
</font>
</body>
</html>
25/05/2007 16:42:06
Il problema è stato finalmente risolto grazie alla funzione mysql_error() inserita nella funzione die() dopo la query. Il risultato?
Ho scoperto che a causa di un mio errore precedente, non avevo garantito i privilegi all'utente per effettuare la query al server.
Grazie a tutti per l'aiuto.
25/05/2007 16:43:08
e per fortuna che te l'avevo detto 1 ora fa qui..
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
I dati del generatore di rank sono stati aggiornati!
Legacy of Magic: Gli Elementi Oscuri - La Nera Signora dell'Acqua
Lineage II → Entra in uno sconfinato mondo fantasy dominato da razze in contrasto tra loro. Scatena i tuoi poteri in uno dei Mmo più famosi al mondo!
Il gestore di W40K Dathyar ha risposto alla recensione di dreamboy
dreamboy ha recensito W40K Dathyar
Metin2: Live ora: Server Boost Yohara e Twitch Drop
Storie di Agarthi → Un Varco si apre davanti a te, un mondo tra i mondi è a portata di mano. Lasciati alle spalle le certezze, diventa quello che hai sempre cercato.
Epic Wizardry RP: Changelog N. 4 - Epic Wizardry Rp
drongo ha recensito Il Grande Blu
Pirates of the Caribbean: Tides of War: Quarti di finale del torneo
DarkOrbit: Galactic Strife & Buono gratis 💥
Hero Wars → Costruisci la tua squadra di eroi leggendari e domina il campo di battaglia! Strategia, tattica e potenza si scontrano in questo RPG ricco di azione!
Legacy of Magic: Il vecchio e la mappa
outrunstaff ha risposto alla discussione: Project OutRun PbC
meleys ha aperto un annuncio di ricerca: Westeros GDR ricerca Tester
Game of Thrones → Pronto a diventare il Signore dei Sette Regni? Guida la tua grande casata in epiche battaglie PvP ed esplora il mondo di Westeros!
Formati Libri - Libro: cartaceo, digitale o formato audio?
Consigli per i PG - Alcuni utili consigli per gestire al meglio il tuo pg
OutWorld - Recensione del gioco fantascientifico OutWorld. Scopri segreti del futuro...
Giochi Strategia - Cinque saghe classiche di strategia.. guida il tuo esercito alla vittoria!
eXtremelot - Leggi la nostra recensione di eXtremelot... il più famoso GDR italiano!
Come giocare Online - Alcune semplici e chiare regole per giocare al meglio ad un gdr online!