将PHP连接到MYSQL错误消息
使用此代码连接到localhost时,我收到一条错误消息。我无法连接到MYSQL,我不确定原因:将PHP连接到MYSQL错误消息,php,mysql,mysqli,Php,Mysql,Mysqli,使用此代码连接到localhost时,我收到一条错误消息。我无法连接到MYSQL,我不确定原因: <?php //connect $link = mysqli_connect("$localhost", "$root", "$password", "$database"); if (!$link) { $output = 'Unable to connect to the database server.'; include 'output.html.php
<?php
//connect
$link = mysqli_connect("$localhost", "$root", "$password", "$database");
if (!$link)
{
$output = 'Unable to connect to the database server.';
include 'output.html.php';
exit();
}
if (!mysqli_set_charset($link, 'utf8'))
$output = 'Unable to set database connection encoding.';
include 'output.html.php';
exit();
}
if (!mysqli_select_db($link, '$database'))
{
$output = 'Unable to locate the Teamster database.';
include 'output.html.php';
exit();
}
$output = 'Database connection established. ';
include 'output.html.php';
?>
我(不认为我可以)发表评论,但如果你发布了准确的错误消息,那会有所帮助
产量
mysql_connect_error()
但从我所知道的情况来看,您应该确保$localhost设置为某个值(可能是“localhost”),并且您使用的用户名和密码正确。当系统可以告诉您出了什么问题时,永远不要输出固定的错误消息:
$output = 'Unable to connect to the database server:' . mysqli_connect_error();
如果您得到:
//检查连接//如果(mysqli_connect_errno($con))/{echo“未能连接到MySQL:“.MySQL_connect_error();/}//
那么这就是你的问题:
$link = mysqli_connect("$localhost", "$root", "$password", "$database");
其中loclhost、用户名、密码、数据库组合不正确。
还要确保您位于正确的端口,并且允许您使用这些凭据进行连接
“无法连接到db”总是由于该行的某些组合,而不是因为代码,因为您在
if(!$link)
上失败了,我认为您缺少了,连接命令的实现非常“奇怪”:“localhost”
或$localhost
,但肯定不是“$localhost”
…能否将代码发布到output.html.php
?能否发布变量$localhost、$root、$password、$database@arkascha:$localhost的没有问题
。这是cargo cult编程,但无论哪种方式的计算结果都几乎相同。这是一个答案吗?@Marc B我是否应该删除该输出消息并添加“mysqli_connect_error()”?不,消息的文本很好。只是不要忽略mysql可能会告诉您的有关该问题的信息。例如。“出了点问题:事情就是这样”远比“出了点问题”有用。@MarcB很棒。您如何看待此错误消息:数据库连接已建立//检查连接//如果(mysqli_connect_errno($con))/{echo”无法连接到MySQL:“.MySQL_connect_error();/}//?>我检查了所有这些变量,它们看起来都是正确的。我正在使用默认的3306端口,但谁能确保我能够连接到这些凭据?到目前为止,我可以与Workbench进行连接。还有其他想法吗?再次感谢。与您的凭据一致的硬代码-并查看它是否连接-如果连接正确n您可能也做了一些事情,正如有人提到的,如果正在使用localhost,您不需要$localhost也谢谢您的输入azngunit81。我意识到我忘记了使用mysqli_select_db();及其参数来选择我的数据库。现在我收到的唯一消息是“无法选择数据库”“.有什么想法吗?我确定这是唯一一个不起作用的参数,因为我检查了其他每个参数。您是重新选择同一个数据库还是另一个?如果是另一个数据库,请确保您使用的凭据适用于该数据库。即:user1可以访问db1,但不能访问db2。。。
$link = mysqli_connect("$localhost", "$root", "$password", "$database");