数据库中会话详细信息的用户名

时间:2013-01-02 23:48:18

标签: php mysql

我试图通过会话中的用户名显示数据库中的用户数据,让我的会话变量用户名与我的数据库一起工作。

但是,我的脚本不起作用。我该怎么办?

<?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

1 个答案:

答案 0 :(得分:1)

你有很多事情是错的。你在htmlphp之间混合使用引号。

及其在Idid

之间的差异

你还必须逃避你的变量,

看看这个

    $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(),但有一点不同 - 返回一个对象,而不是一个数组。间接地,这意味着您只能通过字段名称访问数据,而不能通过其偏移量访问数据(数字是非法的属性名称)。
相关问题