[RISOLTO]Query sql non funzionante

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
Alfonso.1991
Prode Principiante
Messaggi: 103
Iscrizione: lunedì 3 settembre 2007, 9:53
Località: Santa Maria a Vico
Contatti:

[RISOLTO]Query sql non funzionante

Messaggio da Alfonso.1991 »

Carissimi amici...

ho un piccolo problema. In una pagina devo far comparire il contenuto di una determinata cella di una tabella. Mi spiego con un esempio: avendo come tabella la seguente:

    | ID  | USER  |  PASS  |  PUNTI |
    -------------------------------
    | 1   | admin |  *****|   100    |
    -------------------------------
    | 2   | mode |   **** |   100    |
    -------------------------------

nella pagina devo visualizzare i PUNTI correlati all'username.

Quindi ho bisogno di una query.
Io ho fatto la seguente:

Codice: Seleziona tutto

<?php
session_start();
//in un altra pagina ho memorizzato l'username con una sessione $_SESSION['user']=$myusername
//ho già selezionato il database
$sql="SELECT PUNTI FROM tb_name WHERE USER=$_SESSION['user']";
$res=mysql_query($sql);
echo $res;
?>
ma non funziona. Non mi visualizza niente. Come mai? Dove ho sbagliato?
Grazie 1000
Ultima modifica di Alfonso.1991 il mercoledì 10 settembre 2008, 14:10, modificato 1 volta in totale.
Avatar utente
garak
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1649
Iscrizione: lunedì 13 giugno 2005, 13:37
Desktop: Gnome
Distribuzione: Ubuntu 24.04
Sesso: Maschile
Località: Roma
Contatti:

Re: Query sql non funzionante

Messaggio da garak »

Non puoi usare il quel modo un'array dentro una stringa.
O fai

Codice: Seleziona tutto

$sql="SELECT PUNTI FROM tb_name WHERE USER={$_SESSION['user']}";
oppure concatenando

Codice: Seleziona tutto

$sql="SELECT PUNTI FROM tb_name WHERE USER=" . $_SESSION['user'];
Avatar utente
Alfonso.1991
Prode Principiante
Messaggi: 103
Iscrizione: lunedì 3 settembre 2007, 9:53
Località: Santa Maria a Vico
Contatti:

Re: Query sql non funzionante

Messaggio da Alfonso.1991 »

Non puoi usare il quel modo un'array dentro una stringa.
O fai
Codice:

$sql="SELECT PUNTI FROM tb_name WHERE USER={$_SESSION['user']}";

oppure concatenando
Codice:

$sql="SELECT PUNTI FROM tb_name WHERE USER=" . $_SESSION['user'];
Ho inserito questa query, adattando i nomi a quelli della mia tabella. Comunque non mi visualizza niente. mi restituisce questo warning:
Warning: Wrong parameter count for mysql_result() in C:\Programmi\EasyPHP 2.0b1\www\Quiz\private\index.php on line 138
la riga 138 è quella k dice:

Codice: Seleziona tutto

 $punti=mysql_result($res); 
Come mai? Cosa devo usare invece di mysql_result?
Grazie 1000 in anticipo a tutti
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: Query sql non funzionante

Messaggio da Zoff »

Alfonso.1991 ha scritto:
Non puoi usare il quel modo un'array dentro una stringa.
O fai
Codice:

$sql="SELECT PUNTI FROM tb_name WHERE USER={$_SESSION['user']}";

oppure concatenando
Codice:

$sql="SELECT PUNTI FROM tb_name WHERE USER=" . $_SESSION['user'];
Ho inserito questa query, adattando i nomi a quelli della mia tabella. Comunque non mi visualizza niente. mi restituisce questo warning:
Warning: Wrong parameter count for mysql_result() in C:\Programmi\EasyPHP 2.0b1\www\Quiz\private\index.php on line 138
la riga 138 è quella k dice:

Codice: Seleziona tutto

 $punti=mysql_result($res); 
Come mai? Cosa devo usare invece di mysql_result?
Grazie 1000 in anticipo a tutti
mysql_result() serve per recuperare i valori da una query generica SQL (che puo' avere piu' campi) anche se tu nella query hai selezionato solo un campo devi comunque inserire l'indice del campo che vuoi leggere (nel tuo caso 0).

ciauz

PS. Il manuale in queste occasione è d'oro!!!
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Avatar utente
Alfonso.1991
Prode Principiante
Messaggi: 103
Iscrizione: lunedì 3 settembre 2007, 9:53
Località: Santa Maria a Vico
Contatti:

Re: Query sql non funzionante

Messaggio da Alfonso.1991 »

Zoff ha scritto:
Alfonso.1991 ha scritto:
Non puoi usare il quel modo un'array dentro una stringa.
O fai
Codice:

$sql="SELECT PUNTI FROM tb_name WHERE USER={$_SESSION['user']}";

oppure concatenando
Codice:

$sql="SELECT PUNTI FROM tb_name WHERE USER=" . $_SESSION['user'];
Ho inserito questa query, adattando i nomi a quelli della mia tabella. Comunque non mi visualizza niente. mi restituisce questo warning:
Warning: Wrong parameter count for mysql_result() in C:\Programmi\EasyPHP 2.0b1\www\Quiz\private\index.php on line 138
la riga 138 è quella k dice:

Codice: Seleziona tutto

 $punti=mysql_result($res); 
Come mai? Cosa devo usare invece di mysql_result?
Grazie 1000 in anticipo a tutti
mysql_result() serve per recuperare i valori da una query generica SQL (che puo' avere piu' campi) anche se tu nella query hai selezionato solo un campo devi comunque inserire l'indice del campo che vuoi leggere (nel tuo caso 0).

ciauz

PS. Il manuale in queste occasione è d'oro!!!
Salve. Ho messo l'indice ma mi da lo stesso warning alla stessa riga. L'indice l'ho messo così:

Codice: Seleziona tutto

$punti=mysql_result($res);
echo $punti[0];
Ma non va. Cosa sbaglio?
Un caro saluto a tutti
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: Query sql non funzionante

Messaggio da Zoff »

Alfonso.1991 ha scritto:
Zoff ha scritto:
Alfonso.1991 ha scritto:
Non puoi usare il quel modo un'array dentro una stringa.
O fai
Codice:

$sql="SELECT PUNTI FROM tb_name WHERE USER={$_SESSION['user']}";

oppure concatenando
Codice:

$sql="SELECT PUNTI FROM tb_name WHERE USER=" . $_SESSION['user'];
Ho inserito questa query, adattando i nomi a quelli della mia tabella. Comunque non mi visualizza niente. mi restituisce questo warning:
Warning: Wrong parameter count for mysql_result() in C:\Programmi\EasyPHP 2.0b1\www\Quiz\private\index.php on line 138
la riga 138 è quella k dice:

Codice: Seleziona tutto

 $punti=mysql_result($res); 
Come mai? Cosa devo usare invece di mysql_result?
Grazie 1000 in anticipo a tutti
mysql_result() serve per recuperare i valori da una query generica SQL (che puo' avere piu' campi) anche se tu nella query hai selezionato solo un campo devi comunque inserire l'indice del campo che vuoi leggere (nel tuo caso 0).

ciauz

PS. Il manuale in queste occasione è d'oro!!!
Salve. Ho messo l'indice ma mi da lo stesso warning alla stessa riga. L'indice l'ho messo così:

Codice: Seleziona tutto

$punti=mysql_result($res);
echo $punti[0];
Ma non va. Cosa sbaglio?
Un caro saluto a tutti

L'indice va messo come parametro nella funzione mysql_result(), così:

Codice: Seleziona tutto

$result = mysql_result($res,0)
Bastava che guardassi nel manuale!
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Avatar utente
Alfonso.1991
Prode Principiante
Messaggi: 103
Iscrizione: lunedì 3 settembre 2007, 9:53
Località: Santa Maria a Vico
Contatti:

Re: Query sql non funzionante

Messaggio da Alfonso.1991 »

Mi scuso per non averlo scritto nel post precedente. Io il paramentro in quel modo

Codice: Seleziona tutto

 $punti=mysql_result($res,0);
l'avevo messo. Però mi da sempre un warning, che è questo:
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:\Programmi\EasyPHP 2.0b1\www\Quiz\private\index.php on line 138
la riga 138 è sempre quella:

Codice: Seleziona tutto

 $punti=mysql_result($res, 0);
Grazie ancora di tutto e scusatemi se vi disturbo peri simili sciocchezze.
Avatar utente
garak
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1649
Iscrizione: lunedì 13 giugno 2005, 13:37
Desktop: Gnome
Distribuzione: Ubuntu 24.04
Sesso: Maschile
Località: Roma
Contatti:

Re: Query sql non funzionante

Messaggio da garak »

Alfonso.1991 ha scritto: Mi scuso per non averlo scritto nel post precedente. Io il paramentro in quel modo

Codice: Seleziona tutto

 $punti=mysql_result($res,0);
l'avevo messo. Però mi da sempre un warning, che è questo:
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:\Programmi\EasyPHP 2.0b1\www\Quiz\private\index.php on line 138
la riga 138 è sempre quella:

Codice: Seleziona tutto

 $punti=mysql_result($res, 0);
In questi casi è utile fare un po' di troubleshooting, del tipo:
- provare a echare la query e ad eseguirla mano in mysql per vedere se restituisce un risultato
- fare un var_dump di $res per vedere cosa c'è dentro
- ecc. ecc. ecc.
Avatar utente
Alfonso.1991
Prode Principiante
Messaggi: 103
Iscrizione: lunedì 3 settembre 2007, 9:53
Località: Santa Maria a Vico
Contatti:

Re: Query sql non funzionante

Messaggio da Alfonso.1991 »

fatto. Ho risolto tutto.
Grazie 1000
ciao
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 6 ospiti