从php连接到mysql失败


Connecting to mysql from php fails silently

我正试图使用以下文件从php文件连接到运行在linux上的服务器:

<?php
    $db_host = "127.0.0.1";
    $db_user = "userk";
    $db_pss = "pass";
    $tag = $_POST['tag'];
    echo $tag . " Trying to connect with credentials: "
         . $db_host."'n". $db_user . " " .$db_pss;
    $link = mysql_connect($db_host, $db_user,$db_pss);
    if (!$link) {
        die('Could not connect: ' . mysql_error());
    }
    echo 'Connected successfully';
    mysql_close($link);
?>

输出页面为:

register尝试使用凭据连接:127.0.0.1 userk pass

我检查了以前的问题,寻找有用的信息。但它仍然不起作用。

我可以使用putty从终端与这个用户连接到mysql。我不知道为什么我在尝试连接后没有收到任何消息。我应该检查服务器上的防火墙配置吗?我该如何检查?

谢谢!

正如我们所知,mysql_*现在已经贬值,所以最好使用MYSQLI_*:

<?php
error_reporting(E_ALL | E_NOTICE | E_STRICT );
$db_host = "localhost";
$db_user = "userk";
$db_pss = "pass";
$database="abc";
$tag = $_POST['tag'];
echo $tag . " Trying to connect with credentials: " . $db_host."'n". $db_user . " " .$db_pss" " .$database;
$link = mysqli_connect($db_host, $db_user,$db_pss,$database);
if (!$link) {
die('Could not connect: ' . mysqli_error($link));
}
echo 'Connected successfully';
mysqli_close($link);
?>

这可能是您的错误被抑制的情况。所以它没有显示错误。试试看。它现在会给出错误。这将有助于找出真正的问题。:)

<?php
$db_host = "localhost";
$db_user = "userk";
$db_pss = "pass";
$tag = $_POST['tag'];
echo $tag . " Trying to connect with credentials: " . $db_host."'n". $db_user . " " .$db_pss;
$link = mysql_connect($db_host, $db_user,$db_pss);
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>

试试这个:)