mysqli_select_db()期望参数1为mysqli,字符串给定& mysqli_error()期望在DATABASE_CONNECT_ERROR中给出1个参数0

时间:2016-10-19 04:19:37

标签: php mysql mysqli

我在这里和其他各个地方搜索过,我找不到解决这个问题的答案。我刚买了新主机,我正试图移动我的网站。我收到以下错误。

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);
    }
?>

1 个答案:

答案 0 :(得分:1)

首先,您不需要为数据库连接提供“”,因为您将其作为变量传递

第二件事是在MYSQLI中总是通过你的Connection传递$connection

对于mysqli_error传递$连接,让服务器知道你正在寻找数据库连接中的错误。

试试这个。

$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();
  }