2012-03-01 3 views
0

RefernceのIDは

$id = $_SESSION['user_id']; 

$query1 = mysql_query("SELECT `user_name` FROM `users` WHERE `id` LIKE '$id'"); 

echo $query1; 

if (mysql_num_rows($query1) == 0) 
    die ("User not found"); 
else { 
    $username = mysql_result($query1); 
    echo $username ; 
} 

上では動作しません。私は、リソースID得続けるだろう年代をして、 『配列』はエコー出力なぜ誰かが私に言うことができます!私はassocをフェッチしようとしましたが、MySQLはフェッチしましたが残念なことは何もありませんでした:(マニュアルを読んだがまだ喜んではいませんでした)

答えて

1

「user_name」列に値を表示しようとしていますか?このようになりますループ:。現在、その中に何置き換え、

while($row = mysql_fetch_array($query1)) { 
    $username = $row['user_name']; 
    echo "user_name = " . $username; 
} 

置き、それはあなたの「他」ブロック内のあなたがそれをやった方法、あなたの$のユーザー名の変数は、結果セットオブジェクトではなく、内部のデータを取得しています。

0

mysql_resultを使用できますが、行番号を第2パラメータとして指定する必要があります。

mysql_result($query1, 0); 

http://www.php.net/manual/en/function.mysql-result.php

それとも、むしろ=良いでしょう、あなたはLIKEを使用する必要はありませんちなみに...

$id = $_SESSION['user_id']; 

$query1 = mysql_query("SELECT `user_name` FROM `users` WHERE `id` LIKE '$id'"); 



if (mysql_num_rows($query1)==0){ 
    die ("User not found"); 
} 

while($row = mysql_fetch_array($query1)){ 
echo $row['user_name']; 
} 

を行うことができます。