Mysqli_select_db()期望参数1为mysqli, string given &mysqli_error()


mysqli_select_db() expects parameter 1 to be mysqli, string given & mysqli_error() expects exactly 1 parameter, 0 given in DATABASE_CONNECT_ERROR

我在这里和其他地方都找过了,我就是找不到解决这个问题的答案。我刚买了新的主机,并试图移动我的网站。我得到下面的错误。

Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in
/home4/purefic/public_html/demo/mytcg/settings.php on line 230
Warning: mysqli_error() expects exactly 1 parameter, 0 given in
/home4/purefic/public_html/demo/mytcg/settings.php on line 231
DATABASE_CONNECT_ERROR

这是我在设置页面上的代码(最初在我的旧主机上工作得很好,我把所有东西都设置为mysql,而不是mysqli,就像我的研究似乎告诉我要更改为但你可以看到它不起作用)

$users = array($user => md5($pass));
$salt = substr(md5(date("F")), 8);
$connect = mysqli_connect("$db_server", "$db_user", "$db_password")
    or die( DATABASE_CONNECT_ERROR . mysqli_error() );
mysqli_select_db("$db_database" , $connect)
    or die( DATABASE_CONNECT_ERROR . mysqli_error() );
function CleanUp($data) {
    $data = trim(htmlentities(strip_tags($data)));
    return $data;
    }
function escape_sql($sql) {
    if (get_magic_quotes_gpc()) $sql = stripslashes($sql);
    return mysqli_real_escape_string($sql);
    }
?>

首先,您不需要在DB连接中使用",因为您将其作为变量传递

第二件事是在MYSQLI总是通过$connection与您的连接。

和mysqli_error传递$connection让服务器知道你正在寻找数据库连接错误。

试试这个。

$connect = mysqli_connect($db_server, $db_user, $db_password)
    or die( DATABASE_CONNECT_ERROR . mysqli_error($connect) );
mysqli_select_db($connect, $db_database)
    or die( DATABASE_CONNECT_ERROR . mysqli_error($connect) );

编辑

无论哪种方式,您都可以尝试连接数据库,如下

所示
$connect = mysqli_connect($db_server, $db_user, $db_password, $db_database);
// If no connection than Print error
if (mysqli_connect_errno())
  {
      echo "No Active DB Connection Please check: " . mysqli_connect_error();
  }