[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 举报,一经查实,本站将立刻删除。