我在这个网站上找到了答案并找到了它们,但无论出于何种原因我都无法使用我的文件。我正在使用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.
}
答案 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的第四个参数提供,而不是将该条件与另一个函数调用一起提供。