【发布时间】:2011-11-10 20:40:53
【问题描述】:
我有一个表单,用户可以在其中输入他们的数据库信息,然后可以单击使用 AJAX 的链接将凭据发送到此页面。我遇到的问题是,只要他们输入正确的主机名,脚本就会返回TRUE。
如果用户名和密码无效,是否有另一种方法来测试它以返回FALSE?
$h = urldecode($_GET['h']);
$u = urldecode($_GET['u']);
$p = urldecode($_GET['p']);
$con = mysql_connect($h, $u, $p);
if(!$con){
echo 'Could not connect';
}
else{
echo 'Connected';
}
解决了!
为了将来参考,问题在于 mysql 用户表中 user = "Any" 的条目在哪里。我删除了这些用户,脚本按预期工作。我更新了这篇文章,为遇到类似问题的人提供了一个屏幕截图。感谢 Fabio below 的建议!
【问题讨论】:
-
不应该这样做。手册绝对清楚,如果连接失败,将返回
false。也许您尝试使用的 SQL 服务器被错误配置为接受任何连接?您是否尝试过使用另一个 mySQL 服务器? -
我现在正在使用 localhost (WAMP) 所以没有。请稍等,我将在远程服务器上尝试。
-
好的,现在不能连接到远程服务器。尽管输入随机密码会给我“无法连接”消息,但我已将问题缩小到用户名。这意味着它接受任何没有附加密码的用户名。
标签: php mysql ajax mysql-connect