首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >php mysql_fetch_assoc没有按预期工作

php mysql_fetch_assoc没有按预期工作
EN

Stack Overflow用户
提问于 2012-02-10 13:52:30
回答 4查看 4.5K关注 0票数 1

你好,我这里有以下php代码:

代码语言:javascript
运行
复制
    $username = trim(mysql_real_escape_string($username));
    $password = md5(trim(mysql_real_escape_string($password)));
    $query = "SELECT user_level FROM user WHERE username='$username' AND password='$password'";
    $result = mysql_query($query) or die('query did not go through');
    if($result!=false){
        echo 'result is not false!<br/>';
        while($row = mysql_fetch_assoc($result)){
        echo 'another output to test'.$row['user_level'].'<br/>';
        }
    }

我知道数据库条目存在..它应该是“1”,但由于某种原因,它没有输出1。我是不是遗漏了一些很小的东西,我现在就是抓不到?

编辑:好的,我已经把用户名改成了user_level,但是它没有得到任何东西。while循环中的回声甚至没有输出任何内容。

edit2:我还忘了提到,当我输出$result时,它会显示资源id #5,所以我知道它从查询中得到了一些东西。

编辑3:(2012年2月10日):只是想让你们知道,获取用户名是一个错误,我的意思是从user表中的用户获取user_level。

查询的输出是:查询是这个值SELECT user_level FROM user WHERE username='spankerer‘AND password='246b8ae01899a116369ddcba84f425fd’

% print_r($row);未显示在while循环中。

编辑4:忘记提到如果我从cmd执行mysql查询,我得到的user_level表显示1,所以它是正确的。

EN

Stack Overflow用户

发布于 2012-02-10 14:00:38

您的查询应仅查询user_level:

代码语言:javascript
运行
复制
$query = "SELECT user_level FROM user WHERE username='$username' AND password='$password'";

编辑:

如果你将你的while循环改为:

代码语言:javascript
运行
复制
while($row = mysql_fetch_assoc($result)){
    echo 'another output to test'.$row['user_level'].'<br/>';
}

代码语言:javascript
运行
复制
while($row = mysql_fetch_array($result)){
    echo 'another output to test'.$row['user_level'].'<br/>';
}
票数 1
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9223350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档