Newsgroup: it.comp.www.php
Titolo: errore sql. mysql_fetch_assoc. non riesco a capire.

osservate questo codice:
non capisco proprio dove è l'errore...
al db è connesso....
php funziona...
le virgolette? provato...
qualsiasi tipo do mysql_fetch_assoc? provato provato...
ho addirittura messoil @ davanti alla chiamata di funzione...
nei forum niente soluzioni... help please...
 <?php
			// connect to the mysql database server.
			$link_id = mysql_connect ($dbhost, $dbusername, $dbuserpass);
			if (!mysql_select_db($dbname)) die(mysql_error());
	       	        $sql_session="select `user_id` from `php_session`;";
		  	$session_user=mysql_query($sql_session);
		 	$sql_users="SELECT `user` FROM `users` WHERE `user` = 
'$session_user';";
			$users_user=mysql_query($sql_users);
			$row=mysql_fetch_assoc($users_user);
			echo $row['user'];
		  ?>
zalud
mebitek

 '$session_user';";
$session_user e` una risorsa, e la tratti come una volgare stringa... :P
Bye.

 nei forum niente soluzioni... help please...
[..]
spiega quello che vuoi fare..
quello che ho inteso io mi sembra improbabile..
-- 
www.iuz-lab.info

iuz ha scritto:

ok.
allora ho due tabelle.
users (id, user, password)
php_session (session_id, user_id, access_date, update_date, 
session_data)
quelle ke voglio fare è:
controllare se l'user_id di php session è presente nella tabella users
stampare l'eser_id nella schermata di welcome
spero di essermi spiegato meglio stavolta.
helpatemi...
mebitek

il codice ke ho postato chiaramente se scrivo sul forum non funziona
mi spiego
non stampa nulla a video
se può esservi utilie se stampi a video l'array e non il campo della 
riga  $row['user'] mi dice giustamente Resource #4
mebitek

mebitek wrote:

non ho capito bene..
comunque..
<?php
 if (!($link_id = mysql_connect($dbhost, $dbusername, $dbuserpass)))
 {
  echo "Can't connect to db<br />";
 }
 if (!mysql_select_db($dbname, $link_id))
 {
  echo "Can't select db<br />";
 }
 $s_user = mysql_query
  ("select `user_id` from `php_session`", $link_id)
  or die(mysql_error());
 $s_user = mysql_fetch_assoc($s_user);
 $users_user = mysql_query
  ("SELECT `user` FROM `users` WHERE `id` = '{$s_user['user_id']}'")
  or die(mysql_error());
 $row = mysql_fetch_assoc($users_user);
 echo $row['user'];
?>
ma ho corretto alla cieca..
molte cose hanno poco senso.. sei sicuro che non ci sia una clausola WHERE
nella prima query? la seconda query era corretta? setta error_reporting su
E_ALL..
-- 
www.iuz-lab.info

grazie x l'interessamento.
corretto come dite voi me niente...
l'unica differenza giustamente era che non eseguivo mysql_fetch_assoc 
dopo la prima query.
cmq non funziona uguale.... qualche idea???

iuz ha scritto:

x conoscenza
ho inserito il tuo codice
e non mi scrive niente a video come puoi vedere anke tu alla pagina
http://www5.autistici.org/mekkatek/prive/nuovo.php
ho inserito pure
error_reporting = E_ALL;
ma non stampa nulla...
idee?
thanx
mebitek

 idee?
[..]
l'avevo intuito che non avrebbe stampato niente..
prova a fare un'po' di debug..
stampa le query che esegui, controlla gli output e cerca il problema..
-- 
www.iuz-lab.info

grazie mille. siete stati tutti disponibibilissimi anche se un po' più 
di gentilezza e umiltà sarebbe stato un buon modo di "accogliere" un 
newbie PHP. Probabilmente la questione posta era poco chiara e banale 
ma nonostante tutti gli sforzi è rimasta insoluta...
thanx and felicitations!!!!!!!
mebitek

mebitek wrote:

hai mal posto il problema..
fammi un favore.. esegui questo codice e posta il risultato..
echo '<pre>';
if (!($dl = mysql_connect($dbhost, $dbuser, $dbpass)))
 echo "Can't connect to db\n";
if (!mysql_select_db($dbname, $dl))
 echo "Can't select db\n";
$usr = mysql_query("SELECT * FROM `users` WHERE 1", $dl);
echo "There are " . mysql_num_rows($usr) . 
     " row/s in users table\n";
$first_usr_row = mysql_fetch_assoc($usr);
if ($first_usr_row !== FALSE) {
 print_r($first_usr_row);
} else {
 echo "No row to display\n"
}
$sess = mysql_query("SELECT * FROM `php_session` WHERE 1", $dl);
echo "There are " . mysql_num_rows($sess) . 
     " row/s in php_session table\n";
$first_sess_row = mysql_fetch_assoc($sess);
if ($first_sess_row !== FALSE) {
 print_r($first_sess_row);
} else {
 echo "No row to display\n"
}
-- 
www.iuz-lab.info

iuz ha scritto:

grazie mille. ho già risolto. ho usato delle classi php. leggere il 
manuale è utilie come aggirare il problema...
peccato che non capisco ancora dove è l'errore...
fa niente...
ciao a tutti e a presto, magari con un nuovo problema...
ciao
mebitek

 $sql_users="SELECT `user` FROM `users` WHERE `user` = '$session_user';";
devono diventare
$sql_session="select `user_id` from `php_session`";
$sql_users="SELECT `user` FROM `users` WHERE `user` = '$session_user'";