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
Sea of Conquest: 🎁 Codice regalo!
Hero Wars: Torneo sperimentale! ⚔️
World of Tanks → Lanciati in epiche battaglie spalla a spalla con altri giocatori. Conquista la supremazia nel mondo dei Carri Armati!
I dati del generatore di rank sono stati aggiornati!
Ex Gratia GDR: What if (elenco dei finali possibili)
koe ha recensito Naruto x Boruto GDR - New Rebirth
Storie di Agarthi: BardoBot si evolve: la cura non va in vacanza
Crash Bandicoot Zone → Caos, libertà e risate: nel GDR ambientato nell’universo di Crash Bandicoot, ogni storia è possibile… e nulla è troppo folle!
Underworld of Rome: News e passaparola vampiriche
aura666 ha recensito Naruto x Boruto GDR - New Rebirth
Ex Gratia GDR: Nuova Entità: Sun Wukong!
Nyx Insight - Project S.E.T.: Comunicazione del Rettorato - Gli Sport arrivano
Crash Bandicoot Zone → Caos, libertà e risate: nel GDR ambientato nell’universo di Crash Bandicoot, ogni storia è possibile… e nulla è troppo folle!
black sails chronicles si è accreditato come gestore di Black Sails Chronicles
Nuovo Play by Chat Fantasy → Black Sails Chronicles
Entropia Universe: Crafting Mania!
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!
Gdr by Forum - Scopriamo assieme cosa sono i gdr play by forum e le differenze con i gdr tradizionali
Realms of Reeh - Realms of Reeh: l’Avvento del Social-Net-Role nel mondo dei play by chat!
Lucca C&G 2019 - Le dieci cose che ci sono piaciute della splendida edizione 2019 di Lucca Comics and Games!
New Aldebaran - Intervista ai gestori dei gioco di ruolo post apocalittico New Aldebaran!
Betsu No Tamashi - Intervista al gioco di ruolo play by chat a tema manga Betsu No Tamashi
Videogame Online - Come si crea un videogioco online? Scopriamolo!
Games as a Service - I videogiochi "games as a service": è la fine di un'era?
Vulkania - Recensione del gioco di ruolo online ambientato in un misterioso mondo fantasy