0

当前代码:

<?php

session_start();

if ($_SESSION['username']) {
    echo "Signed in as " . "$_SESSION[username]" . "<br />" . "<a href='logout.php'>Log         out</a>";

    //Get user info.

    $results = mysql_query("SELECT * FROM users WHERE username=$_SESSION[username]");
    while($row = mysql_fetch_array($results) {
        $db_username = $row['username'];
        echo $db_username;
    }
}    

else {
    echo "Log in";
}

?>

不幸的是,当返回 MySQL 应该得到的值时,我遇到了错误。知道为什么吗?

4

2 回答 2

0

您忘记在查询中的值周围使用单引号

mysql_query("SELECT * FROM users WHERE username='{$_SESSION[username]}'");
                                                ^^                   ^^ 

也停止使用mysql_*它们已弃用的功能,使用MySQLiOR PDO

于 2013-06-16T06:24:55.143 回答
0

您的查询是错误的,因为它包含未用单引号或花括号括起来的 PHP 变量。您可以按如下方式重写查询:

带大括号:

$results = mysql_query("SELECT * FROM users WHERE username={$_SESSION[username]}");`

或单引号:

$results = mysql_query("SELECT * FROM users WHERE username='$_SESSION[username]'");
于 2013-06-16T07:31:04.870 回答