一般调试

时间:2012-12-05 19:44:40

标签: php mysql

我的代码回应了某人的名字,它适用于某些ID,但不适用于其他人。这是代码:

$sid = $_SESSION['id'];
$sql = mysql_query("SELECT * FROM users WHERE id='$sid'");
$row = mysql_fetch_array($sql);
$fname = $row['fname'];
.
.
.
<?php echo $fname; ?>'s Profile

任何想法如何才能在某些时候起作用?我正在使用PHP与MySQL。我回应了$ sid,它正在给出正确的身份。

2 个答案:

答案 0 :(得分:0)

您没有检查查询是否返回任何结果。

先做检查:

if ($sql) { // the query worked,
    while($row = mysql_fetch_array($sql)) {
        $fname = $row['fname'];
        ....
    }
}else {
    .. there was an error ...
    echo "Error: ".mysql_error();
}

您可以var_dump($row)查看内容。

答案 1 :(得分:0)

值IS可能来自数据库列并包含空字符串或为NULL。您应该使用特定的ID直接检查数据库,以确定特定的期望。

这可以解释你的结果。