phpMyAdmin如何连接到mySQL服务器?

phpMyAdmin如何连接到mySQL服务器?,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我和phpMyAdmin没有连接问题。我的问题是关于我自己连接mySQL服务器的脚本。我按照手册上说的做: new MySQLi($host, $user, $pass, $db); 但是,如果服务器关闭,脚本将在此时挂起,直到出现超时错误。当我尝试打开phpMyAdmin时,不会发生这种情况,它会立即返回一个错误(#2002)。我希望对我的代码也这样做,实现超时错误和错误处理的转义。我想看看phpMyAdmin代码的内部,看看它们是如何做到的,但由于它的支持在这里,这可能对其他开发人员有用(

我和phpMyAdmin没有连接问题。我的问题是关于我自己连接mySQL服务器的脚本。我按照手册上说的做:

new MySQLi($host, $user, $pass, $db);
但是,如果服务器关闭,脚本将在此时挂起,直到出现超时错误。当我尝试打开phpMyAdmin时,不会发生这种情况,它会立即返回一个错误(#2002)。我希望对我的代码也这样做,实现超时错误和错误处理的转义。我想看看phpMyAdmin代码的内部,看看它们是如何做到的,但由于它的支持在这里,这可能对其他开发人员有用(不是因为我懒惰),我决定问一个问题


那么,有什么线索吗?事件处理?一些异步技术

如果不看PhPMyAdmin代码,我建议将mysqli超时设置为所需的最低值

$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 1)

但是,我仍然会考虑PhPMyAdmin,以防他们有更好的解决方案。

我假设您的PhPMyAdmin配置为使用mysqli扩展。在当前的4.0.8版本中,在函数PMA_dbi_connect()和PMA_dbi_real_connect()中查找libraries/dbi/mysqli.dbi.lib.php这是localhost中sql连接的正确格式

<?php
$con = mysql_connect('localhost','root','') or die("Error in connection! ");
?>

现在看起来像是给它分配了变量,如果是这样的话,就这样做

$hostname="localhost";
$username="root";
password="";

<?php
$con = mysql_connect('$hostname','$username','$password') or die("Error in connection! ");
?>
$hostname=“localhost”;
$username=“root”;
密码=”;

您的第一反应是正确的。查看代码。我不会回答这个问题,而是听从@Michi的建议。查看phpMyAdminCode!好的,我会假装你知道答案,但希望看到我工作。。。没关系,我会问自己,并为我的声誉赢得分数。这是我第二次尝试探索这个主题,结果很低。这一次,有了idipous和Marc Delisle的提示,我可以编写一个与phpMyAdmin结果相似的代码,我们正在接近。我仍然认为我们应该研究这个软件到底是如何把工作做得这么好的,但是我还不足以领导讨论(我现在是认真的)。看着代码让我学到了很多,糟糕的是我们不能继续了。祝你下次好运…你知道,我不知道你是否在使用mysqli。我有3.3版本,但有你提到的文件,我现在正在查找。在phpMyAdmin的主页中,查找“PHP扩展”。mysql已弃用,将很快停止工作,我们应该使用mysqli。我正在测试此选项,但它没有在phpMyAdmin中使用。仍然在寻找…这种方法是可行的,但您也应该在命令行中使用“@”,这样它就不会被写入警告消息(到目前为止,我正在测试过程性方法,因为它是phpMyAdmin的方式)。但是,我在代码中没有找到此设置。。。这是个谜!