- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- Problema con mysql_fetch_assoc
-
Problema con mysql_fetch_assoc
Salve a tutti, ho avuto un problema con mysql_fetch_assoc. Mi dà questo warning
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\bacheca\viewProfilo.php on line 9
e non riesco proprio a capire quale sia il problema.
Il codice è questo qui:[PHP]
<?php
$pageTitle="Visualizza profilo";
include("include/header.inc");
$idUntente=$_GET['id'];
include("include/connessioneDB.inc");
$result=mysql_query("SELECT c.idUtente, a.idUtente, a.titolo, u.nome, u.cognome, u.email, u.telefono
FROM utenti as u, annunci as a
WHERE a.idUtente=.$idUtente AND u.idUtente=".$idUtente);
if($row=mysql_fetch_assoc($result)){ //<--line 9?>
[/PHP]
qualcuno potrebbe aiutarmi a capire dov'è l'errore?
Vi ringrazio anticipatamente!
-
Prova a stampare la query e vediamo cosa ti da...
Io credo ch l'errore sia dopo al where.... dove stai tentanto di usare una variabile php preceduta dal punto...
-
Si hai ragione, la query mi dà
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND u.idUtente=".$idUtente' at line 3Solo che ora che ho tolto il punto prima di $idUtente mi dà quest'altro errore
Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\bacheca\viewProfilo.php on line 8
Cos'è? Ho iniziato da poco e sono abbastanza inesperta... :():
-
E' che ho usato lo stesso identico codice in quest'altro punto e non mi ha dato nessun errore, non capisco che differenza ci sia.
[PHP]<?php
$pageTitle="Dettaglio annuncio";
include("include/header.inc");
$user=chris;
$idAnnuncio=$_GET['id'];
include("include/connessioneDB.inc");
$result=mysql_query("SELECT idAnnuncio, c.idCategoria, c.nomeCat, titolo, descrizione, immagine, dataIns, u.idUtente, email, nome, cognome, indirizzo, telefono
FROM utenti as u, annunci as a, categorie as c
WHERE u.idUtente=a.idUtente AND a.idCategoria=c.idCategoria AND a.idAnnuncio=".$idAnnuncio);
if($row=mysql_fetch_assoc($result)){
[/PHP]
qui non mi dava nessun tipo di problema.
-
Vedrai che insieme ce la faremo, magari con un altro utente, ma ce la faremo.
Proviamo cosi.
$result=mysql_query("SELECT c.idUtente, a.idUtente, a.titolo, u.nome, u.cognome, u.email, u.telefono FROM utenti as u, annunci as a WHERE a.idUtente=".$idUtente." AND u.idUtente=".$idUtente);
Purtroppo io PHP è da un pò che non lo uso, quindi scusami eh eh...
-
Tranquillo, è un pò che ci sto sbattendo sù e non ho nessuno a cui chiedere aiuto, quindi apprezzo molto qualsiasi sforzo!
Comunque adesso il codice è questo qui:
[PHP]<?php
$pageTitle="Visualizza profilo";
include("include/header.inc");
$idUntente=$_GET['id'];
include("include/connessioneDB.inc");
$result=mysql_query("SELECT c.idUtente, a.idUtente, a.titolo, u.nome, u.cognome, u.email, u.telefono FROM utenti as u, annunci as a WHERE a.idUtente=".$idUtente." AND u.idUtente=".$idUtente)
if($row=mysql_fetch_assoc($result)){ //<--line 7?>[/PHP]
e mi dà questo errore
Parse error: syntax error, unexpected T_IF in C:\xampp\htdocs\bacheca\viewProfilo.php on line 7
-
Beh di sta dicendo che manca la chiusura della parentesi graffa.
Immagino che tu stia mettendo quel controllo per eseguire un azione solo se effetivamente ci sono degli utenti che rispecchiano quei requisiti.
Quindi devi chiudere la parentesi ed eseguire al suo interno il codice che desideri.
-
Si ma la parentesi graffa l'ho chiusa... Sicuramente c'è qualche errore stupidissimo, ti faccio direttamente vedere tutto il codice
[PHP]<?php
$pageTitle="Visualizza profilo";
include("include/header.inc");
$idUntente=$_GET['id'];
include("include/connessioneDB.inc");
$result=mysql_query("SELECT c.idUtente, a.idUtente, a.titolo, u.nome, u.cognome, u.email, u.telefono FROM utenti as u, annunci as a WHERE a.idUtente=".$idUtente." AND u.idUtente=".$idUtente)
if($row=mysql_fetch_assoc($result)){?>
<table>
<tr><td>Nome</td>
<td></td><?php echo($row['nome']);?></tr><tr><td>Cognome</td> <td></td><?php echo($row['cognome']);?></tr> <tr><td>Email</td> <td></td><?php echo($row['email']);?></tr> <tr><td>Numero di telefono</td> <td></td><?php echo($row['telefono']);?></tr>
// <tr><td>Annunci pubblicati</td>
// <td></td><?php echo($row['']);?></tr>
</table><?php
} else{
echo("<h2>Nessun profilo trovato</h2>");
}include("include/footer.inc");
?>[/PHP]
-
Allora andiamo per passi cosi anche chi arriverà ci aiuterà...
Stampami il valore della seguente variabile...$idUntente=$_GET['id'];
echo "===>".$idUntente."<===";
Ha un valore valido?
-
No cavolo... mi dà sempre 1 come id anche quando non è 1! Da cosa può dipendere?
-
Beh almeno uno è un valore eh eh...
Presumo che questo valore sia ricevuto da un form...
Il form viene inviato tramite GET o tramite POST?
-
Oddio non lo so! O.O Cioè io non ho fatto nessun form con cui invio l'id, perchè quella è la pagina del profilo utente che si dovrebbe aprire con un link, quindi non c'è nessun form... o forse è quello in cui faccio il login? Scusami se sono così impedita, ho le idee super confuse perchè ho iniziato da pochissimo!
-
Guardando i campi dovrebbe essere quello di login.
Sopra nell'indirizzo vedi una parte dell'indirizzo con ID? Spero di no...
-
no no
comunque in quello di login il form viene inviato con POST
-
Bene.
Tralasciamo per il momento allora questo problema per tornarci dopo...
Il problema di prima per caso non è perchè alla fine ti eri dimenticata il ;?
-
Ehm si dopo la query mancava un ;
ma adesso mi dà questo qui
**Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\bacheca\viewProfilo.php on line 7
**
dove la linea 7 è sempre l'if
-
Forse perchè non hai righe? Mmm..
Se metti questo controllo?[PHP]if (mysql_num_rows($result) == 0)
{
echo "Non esiste nessun utente";
}
else
{
echo "Esiste l'utente";
}[/PHP]
-
Mi dà sempre lo stesso errore, cioè Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\bacheca\viewProfilo.php on line 8 questa volta alla riga
[PHP]if (mysql_num_rows($result) == 0) [/PHP]
e mi stampa anche che non esiste nessun utente!
-
Quello è normale perchè va in modo sbagliato nell'if...
Proviamo a fare una cosa.$query="SELECT c.idUtente, a.idUtente, a.titolo, u.nome, u.cognome, u.email, u.telefono FROM utenti as u, annunci as a WHERE a.idUtente='".$idUtente."' AND u.idUtente='".$idUtente."';
echo $query;
$result=mysql_query($query);
Che valore ha query?
Ho provato a mettere tra apici il valore id anche se in teoria se è numerico non dovrebbe aver problemi...
-
mmm... mi dà questo errore:
**
Parse error: syntax error, unexpected $end in C:\xampp\htdocs\bacheca\viewProfilo2.php on line 14**
cioè dopo l'ultimo ?>[PHP]<?php
$pageTitle="Visualizza profilo";
include("include/header.inc");
$idUntente=$_GET['id'];
include("include/connessioneDB.inc");$query="SELECT c.idUtente, a.idUtente, a.titolo, u.nome, u.cognome, u.email, u.telefono FROM utenti as u, annunci as a WHERE a.idUtente='".$idUtente."' AND u.idUtente='".$idUtente."';
echo $query;
$result=mysql_query($query);
?>[/PHP]