我正在尝试使用使用XAMPP设置的本地测试服务器连接到在本地计算机上运行的mySQL数据库。我只是使用没有分配密码的root帐户。我尝试了如下,一切似乎工作正常。我收到了消息,说我已成功连接。然后我尝试通过输入任何其他内容作为主机,用户名或密码强制出错,它仍然回应“连接成功”。
这是我用来连接的代码:
<?php
$db_host = "localhost";
$db_username = "root";
$db_password = "";
$myConn = mysql_connect($db_host, $db_username, $db_password) or die('Connection error: '.mysql_error());
echo 'connection successful';
?>
我想知道是否是我或者我正在使用的apache / mySQL的安装导致了如此荒谬。
答案 0 :(得分:0)
安装时必须搞砸一些东西:
marc@panic:~$ php -a
php > $x = mysql_connect('bleargh', 'foo', 'bar') or die(mysql_error());
PHP Warning: mysql_connect(): Unknown MySQL server host 'bleargh' (2) in php shell code on line 1
Unknown MySQL server host 'bleargh' (2)marc@panic:~$
关于我能想到的一切是你有一个DNS服务器返回所有查找的有效地址,导致所有主机名都解析。
答案 1 :(得分:0)
它始终会回显'connection successful'
,因为您没有检查连接的状态。
if (!$myConn) {
echo 'Sorry, there was an error '.mysql_error();
} else {
echo 'connection successful';
}
根据您执行代码的方式,您可能会碰到这个:
如果使用相同的参数对mysql_connect()进行第二次调用, 不会建立新链接,而是建立链接标识符 已经打开的链接将被退回。 new_link参数 修改此行为并使mysql_connect()始终打开一个新的 链接,即使之前使用相同的mysql_connect()调用 参数。在SQL安全模式下,将忽略此参数。
所以,要么做一个明确的检查,要么:
$myConn = mysql_connect($db_host, $db_username, $db_password, true) or die('Connection error: '.mysql_error());
答案 2 :(得分:0)
试试这个
$db_host = "localhost";
$db_username = "root";
$db_password = "";
$con = mysql_connect($db_host,$db_username,$db_passwd);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
else
echo 'connection successful';
mysql_close($con);
?>