php
2014-02-17 35 views 0 likes 
0

我的问题是,当我想用​​自己的用户名显示从数据库中某人的信息:请我需要一些帮助PHP的选择从那里

我得到这个错误这是通知:未定义的变量:FNAME在/ opt /lampp/htdocs/aa/hhh.php 27行。 。

<?php 

include 'con_to_db.php'; 

$result = mysqli_query($dbcon, "SELECT * FROM Members WHERE Username='youba'"); 

while($row = mysqli_fetch_array($result)) 
    { 

$fname = $row['Username']; 
$age = $row['Age']; 
} 
?> 
<html> 
<body> 
<h1> this is <?php echo $fname?> </h1> 
</body> 
</html> 

但是当我使用ID我从数据库中的信息没有任何问题:

所有的
<?php 

    include 'con_to_db.php'; 

    $result = mysqli_query($dbcon, "SELECT * FROM Members WHERE id='70'"); 

    while($row = mysqli_fetch_array($result)) 
     { 

    $fname = $row['Username']; 
    $age = $row['Age']; 
    } 
    ?> 
    <html> 
    <body> 
    <h1> this is <?php echo $fname?> </h1> 
    </body> 
    </html> 
+3

是U确保你有一个用户帐号游罢,也尝试使用mysqli错误,看看是否有明显的! –

+0

我的猜测:第一个查询没有执行,'while循环没有运行,'$ fname'的值没有设置,所以PHP抛出了一个错误。打印原始查询并使用phpMyAdmin或您的MySQL命令提示符手动执行。如果不起作用,请确保有符合给定条件的记录。 –

+0

@DarrenDavies:这里没有范围问题。 '$ fname'在''标签内,所以它应该没问题(从我所能看到的)。 –

回答

0

首先,它不是一个错误,但通知。然而,这个特别的提示确实暗示了代码中的错误,尽管不是一个语法错误,而是一个合乎逻辑的错误:while循环的主体没有被执行 - 也就是说,你忘记检查你是否得到了任何结果。 (另外,如果你得到更多比一个结果,只有最后一个会显示)。

请检查您的数据库,看看为什么用户名不存在,虽然你显然希望它是。

另外,我认为(希望!),你的ID字段是在数据库中的数字,在这种情况下,你不应该写报价:

$result = mysqli_query($dbcon, "SELECT * FROM Members WHERE id=70"); 
+0

问题是当我使用WHERE * =“文本”。显示错误。但如果我使用WHERE * =数字。我有结果。 – youba

+0

是的,我(以及上面评论过的每个人)都明白了。您正在运行两个不同的查询,其中一个查询结果,另一个不查询。如果你想知道为什么,手动运行(例如在PhpMyAdmin中),或者检查你的表格。虽然我的猜测是该用户名没有用户,但还有其他可能的原因。我无法查看你的数据库,所以你需要自己检查一下。 – CompuChip

+0

我没有运行两个查询。我使用“WHERE id = 70”运行第一个查询器,结果youba显示出来。但是当我尝试“在哪里用户名='youba'”我得到了错误。我的意思是我尝试使用像性别,国家,用户名相同的错误信息,但当我使用nembers像年龄,身份证在哪里我没有错误,我跳你明白我的问题,该问题是WHERE * =号码--- - >没有错误WHERE * =“文本”------->错误 – youba

相关问题