我正在尝试使用使用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的安装导致了这样的荒谬。
发布于 2012-08-23 13:16:48
你的安装肯定出了什么问题:
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服务器,它为所有查询返回一个有效的地址,导致解析所有的主机名。
发布于 2012-08-23 13:17:14
它将始终回显'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());
发布于 2012-08-23 13:19:18
试试这个
$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);
?>https://stackoverflow.com/questions/12085090
复制相似问题