微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP MySql Select语句无效……有什么建议吗?

[UPDATED]新代码sql_real_escape_string()”
[更新]如果有人想在 Test site 看它的网站
[UPDATED] with while代码通过echo显示任何结果

大家好,

我已经看了很多关于这个问题的帖子,但是根本无法理解为什么以下代码不起作用:

    $username = $_POST['username'];

    // get the record of the user, by looking up username in the database.  
    $query = sprintf("SELECT UserName, Password FROM userlogin WHERE UserName='%s'", MysqL_real_escape_string($username));

    $result = MysqLi_query($dbc, $query) or 
        die ("Error Querying Database for: " . $query . 
        "<br />Error Details: " . MysqL_error() . "<br/>" . $result);

while ($row = MysqLi_fetch_assoc($result))
{
         Echo($row['UserName']);
}

代码似乎是正确的……数据库工作正常(出于输入目的),连接是应用require_once(‘databaseconnection.PHP’)的共享连接;这是为了注册方面的事情.

像平常一样,我确信这是一件简单的事情,我忽略了但却不能为我的生活看到它!

我没有从myssql_error()获得任何错误消息,它只是空白.

任何帮助将非常感激.

问候

解决方法:

检查您尝试查询用户名,因为它可能为空.你真的使用post-request来运行那个脚本吗?你如何验证它不起作用?查询后你用$data做什么?

如果似乎什么也没发生,那么很可能你的查询与任何记录都不匹配.检查您要查找的用户名的空格和大小写.

请注意这些警告:

>在sql中使用之前,请使用预准备语句或至少sql-escape任何用户输入.
>不要仅在严格的代码中使用die进行调试.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐