我正在尝试制作个人资料页面。我只是通过从网址框中获取个人资料名称并获取该用户的信息进行测试,但我只是获取有关我数据库中所有用户的信息。例如,如果我键入user1,它会向我提供数据库中所有用户的所有信息。如果我特意想找到这个用户1并且只找到他的信息,我该怎么做?
<?php $fname=$_GET["fname"] ?>
<html>
<head>
<title> <? echo $fname ?>
</title>
</head>
<body>
<BR><BR>
<h3>
<?php if (false === $registerOrLoginNeeded):?>
<? echo "User - ".$fname." <BR> ";
?>
<?php
mysql_connect(DB_HOST, DB_USER, DB_PASS) or die(mysql_error());
mysql_select_db(DB_NAME) or die(mysql_error());
$data = mysql_query("SELECT * FROM users")
or die(mysql_error());
while($info = mysql_fetch_array( $data ))
{
echo "Real Name - ".$info['name'] . " <BR>";
echo "Email - ".$info['email'] . " <br> " ;
echo "Location - ".$info['location'] . " <br> " ;
echo "Gender - ".$info['gender'] . " <br> " ;
}
?>
<? else: endif ?>
答案 0 :(得分:0)
假设您的用户名字段为username
,只需将您的查询更改为:
$data = mysql_query("SELECT * FROM users WHERE `username` = '$fname' LIMIT 1");
您需要告诉您的数据库您只想要一个完全该用户的记录。这就是我们添加WHERE
子句的原因。并且我们的查询变为从表用户中选择一切,用户的用户名等于来自URI的通过变量。
如何检查是否找到了用户
if(mysql_num_rows($data) > 0)
{
//DISPLAY USER INFO
}
else
{
//NO USER FOUND
}