数据库mysqli_select_db错误

时间:2016-07-18 23:31:03

标签: php database mysqli

我在这个网站上找到了答案并找到了它们,但无论出于何种原因我都无法使用我的文件。我正在使用CMS,第一步是用户添加服务器/用户名/密码/数据库。使用mysqli_select_db时出错。该表单会查看提交的内容,如果if ((mysqli_connect ($ServerName, $AdminUsername, $AdminPassword))) {$connection = true;}有效,则会执行$SelectedDatabase = mysqli_select_db ($connection, $AdminDatabase);。即使找不到数据库名称,也可以使用以下if/else语句:

if (!$SelectedDatabase) {
 $error = "Error opening the database named <u>" . $AdminDatabase . "</u>. Please ensure that the database named <u>" . $AdminDatabase . "</u> has been created.";
}
else {
 // success stuff here.
}

但是服务器不断返回一条消息mysqli_select_db() expects parameter 1 to be mysqli, boolean given。为什么它不连接所选的数据库? (在这种情况下,数据库称为TestCMS。)

这是它出现在文件中的方式:

if ((isset($ServerName)) && ($ServerName) &&(isset($AdminUsername)) && ($AdminUsername) && (isset($AdminPassword)) && ($AdminPassword) && ($connection != true)) {
 if((mysqli_connect ($ServerName, $AdminUsername, $AdminPassword))) {
  $connection = true;
 }
}
if($connection != true) {
 if(!$_REQUEST["database"]) {
  echo "Could not connection to your database. Please provide the correct name of your database.";
 }
 else {
  if((isset($AdminDatabase)) && ($AdminDatabase)) {
   echo "Could not connection to your database. Please make sure that you have created a database with the name <u>" . $AdminDatabase . "</u>.";
  }
 }
}
else {
 // loads of success stuff here.
}

1 个答案:

答案 0 :(得分:0)

如上所述,您提供的布尔值为&#34; mysqli&#34;是必须的。所有这些意味着,不是说$ connection = true,而是需要存储mysqli_connect的结果,因为它具有mysqli_select_db函数执行操作所需的会话的所有信息。所以:

$connection = mysqli_connect($ServerName, $AdminUsername, $AdminPassword);

if ($connection) {
    mysqli_select_db($connection, $AdminDatabase);
}

或者,如果您愿意,您可以将数据库作为mysqli_connect的第四个参数提供,而不是将该条件与另一个函数调用一起提供。