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

Php 数据库会话详细信息中的用户名,php,mysql,Php,Mysql,我试图通过根据会话上的用户名显示数据库中的用户数据,使会话变量username与数据库一起工作 但是,我的脚本不起作用。我在这里该怎么办 <?php session_start(); ?> <?php include "includes/connection.php"; ?> <?php $query = mysql_query("SELECT id, username, password, email, name, aim, admin, time,

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

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

<?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 />";
}

?> 


你有很多事情是错的。你在
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


}

?> 
$myusername=mysql\u real\u escape\u字符串($\u SESSION['myusername']);
$query=mysql\u query(“选择id、用户名、密码、电子邮件、姓名、目标、管理员、时间、电话、地址
来自用户
其中username=“$myusername.”;
while($row=mysql\u fetch\u array($query))
{ 
echo$row['id']。“
”; 回显“用户名:.”行['Username']。“
”; .... ..//继续使用与上述相同的方法,注意引号的位置。不要将它们与php混合使用 } ?>
我建议您使用PDO,否则MYSQLI将被弃用。所以最好转向PDO或SQLI

  • mysql\u fetch\u object()类似于mysql\u fetch\u array(),但有一个区别——返回的是对象,而不是数组。间接地说,这意味着您只能通过字段名访问数据,而不能通过其偏移量(数字是非法的属性名)
可能会发生很多事情。您是否收到任何PHP错误?你这样做会得到什么?如果在PHP中回显$query会发生什么?如果回显$_SESSION['myusername'],会发生什么情况?将代码粘贴到会话变量中保存
myusername
值的位置。如果将结果作为对象获取,则无法使用$row['id']访问用户id。是否已将
SESSION_start()放置在代码的顶部?最后你需要有
…你不应该鼓励使用不推荐使用的mysql函数。此外,由于此会话几乎不安全,因此使用未切换的会话变量会使您的代码对SQL注入敞开大门。。。(另外,
$row['id']
将抛出一个错误!)所以我需要echo$row->id。“
;”;?不知何故,我的页面现在变成了一片空白,甚至没有错误消息。现在,出现了一个错误:致命错误:无法在/homes/iia0014/public_html/userdetails.php第15行将stdClass类型的对象用作数组查看更新的查询,我从sql注入中转义了变量