2010-07-13 102 views
1

我的编码有问题。当我在查询中放入'where'时,它不显示任何内容。但是当我不把'哪里'显示所有的记录。所有我想要的是,它会显示当前登录用户的记录。显示用户的特定记录而不使用WHERE

请帮我这个。

这些代码是什么?

有人吗? :(

这将是一个很大的帮助。感谢..

这是我的查询..

$query="SELECT * FROM members where username = '$username'"; 
$result=mysql_query($query); 
$num=mysql_numrows($result); 

每当我放在哪里,它不会显示任何内容。

+2

您目前为止的代码是...? – 2010-07-13 07:32:03

+1

有一些mysql表吗?一些查询的例子,你试过了什么?会帮助我们很多;-) – helle 2010-07-13 07:32:22

+0

$查询=“选择*从成员的地方用户名='$用户名'”; $ result = mysql_query($ query); $ num = mysql_numrows($ result); 这是我的查询..每当我把地方,它不显示任何东西。 – mayumi 2010-07-13 07:37:50

回答

1

首先在mysql_query语句之前回显你的$ query,这样你就可以检查它是你期望的。 然后把一些错误处理代码中的,以确定是否有返回数据库错误:

$query="SELECT * FROM members where username = '$username'"; 
echo $query.'<br />'; 
$result=mysql_query($query); 
if (!$result) { 
    die('Error executing query: ' . mysql_errno().' '.mysql_error()); 
} 
$num=mysql_numrows($result); 

这些都是你应该总是寻求帮助之前做的绝对基础。

另外,在您的查询中使用它之前,尝试转义$ username

+0

哇,谢谢你先生。标记。好 。我会用它 – mayumi 2010-07-13 08:11:09

0

你你最好学习如何正确使用WHERE你将来需要它

你能告诉我们查询,给出所有记录,前几行以及查询与WHERE失败?

它应该像SELECT * from users WHERE loginname="Smith"

当然,你需要从表中的列使用WHERE。所以,当你创建表格时,你应该添加一个loginname列,并且每当你连续行数INSERT时,你应该设置loginname的值。如果您不存储登录名,则以后无法对其进行过滤。这不是神奇的记忆。

+0

$ query =“SELECT * FROM members where username ='$ username'”; $结果= mysql_query($查询); $ NUM = mysql_numrows($结果); – mayumi 2010-07-13 07:38:32

+0

我试着说的是,当用户当前登录时,它会自动显示其记录。那么它将如何自动显示?如果我手动把'那里姓氏=“史密斯”'..如果史密斯不是当前的用户? – mayumi 2010-07-13 07:45:19

+0

哦!你最好在问题中明确表达。 – MSalters 2010-07-13 07:48:09

相关问题