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 Segui Discussione Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum

I dati del generatore di rank sono stati aggiornati!
Dominion Gdr: Evento di Halloween! 👻
New Orleans → Tuffatevi in questa città iconica, vi aspettano un mix di culture che trovano la loro identità in questo luogo esotico, misterioso e pieno di fascino.
Black Sails Chronicles: ON - Lord Tunica Inzuppata
New World GDR: Aggiornamenti 22/10/2025
Il gestore di Age of Crystals ha risposto alla recensione di velglarn
World of Warship: Aggiornamento 14.10. Teaser
Sponsorizzati con noi! → Sponsorizza il tuo gioco su GDR-online! Trova nuovi giocatori fra i migliaia di appassionati che ogni giorno visitano il portale!
gdr-online.com ha aperto una nuova discussione: Addio vecchi annunci, benvenuta integrazione! 🔍
Macabre Tales: Iscrizioni Aperte!
Hero Wars: Evento speciale di Vulcan e Risse ⚔️
Intervista allo staff del GdR fantasy-piratesco Black Sails Chronicles!
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!
hopie ha recensito Shadow Scape
Lubecca: [CODICE] - Migliorie Grafiche II
Cleveland City: Si chiude il caso del “Serial Killer - il Giudice”
New Orleans: Il Social che non ti aspetti
AlterEgo → Scopri AlterEgo GdR: un incredibile universo narrativo in stile medievale fantasy che cresce, muta e vive giorno dopo giorno grazie ai suoi giocatori!
Sailor Land - Intervista alla gestione di Sailor Land, il play by chat ambientato nell'universo di Sailor Moon!
APP e Abitudini - Le app hanno cambiato le nostre abitudini in tutti i settori!
Fantascienza - La fantascienza: ritorno al fantastico. Da Isaac Asimov, Ray Bradbury a Philip Dick...
Rpg 2023 - RPG 2023: l’importanza del settore e i titoli che hanno lasciato il segno
CRPG Book Project - Il CRPG Book Project, l’ebook gratuito sulla storia dei giochi di ruolo per computer!
Bewitched GDR - Intervista al gestore di Bewitched GDR.. il mondo di Harry Potter su Habbo!
Podcast e GDR - Play by Chat e Podcast: come sfondare la quarta parete!
