0

セッションのユーザー名に従ってデータベースからユーザーデータを表示することにより、セッション変数のユーザー名をデータベースで使用できるようにしようとしています。

しかし、私のスクリプトは機能しません。ここで何をすべきですか?

<?php session_start(); ?>
<?php include "includes/connection.php"; ?>
<?php

$query = mysql_query("SELECT id, username, password, email, name, aim, admin, time,        phone, address
FROM users 
WHERE username = $_SESSION['myusername']");


while($row = mysql_fetch_object($query) ) 
{ 
echo "$row->Id<br />";

echo "Username: . $row['id']";<br />"

//echo "$row->Password<br />";

//echo "$row->Email<br />"; 

//echo "$row->Name<br />";

//echo "$row->Aim<br />";

//echo "$row->Admin?<br />";

//echo "$row->Time<br />";

//echo "$row->Phone<br />";

//echo "$row->Address<br />";
}

?> 

動作する代わりに、スクリプトは画面に以下を表示します。

参照してください: http://www3.londonmet.ac.uk:8008/~iia0014/userdetails.php

4

1 に答える 1

1

あなたは間違っていることがたくさんあります。htmlあなたは引用符を使用するためにとを混ぜphp ています。

Idとの間の違いid

変数もエスケープする必要があります。

これを見て

    $myusername = mysql_real_escape_string($_SESSION['myusername']);
   $query = mysql_query("SELECT id, username, password, email, name, aim, admin, time,        phone, address
     FROM users 
 WHERE username = '".$myusername."' ");


 while($row = mysql_fetch_array($query) ) 
 { 
echo $row['id'] ."<br />";

echo "Username:" . $row['username']."<br />" ;

 ....
 ....  //continue same method as above by caring the quotes in their places . dont mix them with php


}

?> 

PDO または MYSQLI を使用することをお勧めします。LOOK THISは非推奨です。したがって、PDO または SQLI を使用することをお勧めします

  • mysql_fetch_object()はmysql_fetch_array ()に似ていますが、配列ではなくオブジェクトが返されるという 1 つの違いがあります。間接的には、オフセットではなく、フィールド名によってのみデータにアクセスできることを意味します (数値は無効なプロパティ名です)。
于 2013-01-02T23:56:43.480 に答える