我有一个很好的免费搜索数据库。它是用PHP和MySql编写的......但无论出于何种原因,我偶尔需要添加一个" i"在MySql结束时偶尔会让事情发生。我可以连接并登录,但不能选择数据库,因为它通过直到我得到
"请求"无法选择数据库。"
这是来自config.php文件的可能存在问题的内容:
$SETTINGS["hostname"]='localhost';
$SETTINGS["mysql_user"]='root';
$SETTINGS["mysql_pass"]='root';
$SETTINGS["mysql_database"]='myDB';
$SETTINGS["data_table"]='data'; // this is the default database name that we used
/* Connect to MySQL */
if (!isset($install) or $install != '1') {
$connection = mysqli_connect($SETTINGS["hostname"], $SETTINGS["mysql_user"], $SETTINGS["mysql_pass"]) or die ('Unable to connect to MySQL server.<br ><br >Please make sure your MySQL login details are correct.');
$db = mysqli_select_db($SETTINGS["mysql_database"], $connection) or die ('request "Unable to select database."');
};
?>
答案 0 :(得分:0)
使用mysqli
,您可以使用连接方法直接选择数据库:
$connection = mysqli_connect($SETTINGS["hostname"], $SETTINGS["mysql_user"], $SETTINGS["mysql_pass"], $SETTINGS["mysql_database"]);
如果您想使用mysqli_select_db
,则需要撤销您的参数。首先是连接,然后是数据库:
mysqli_select_db($connection, $SETTINGS["mysql_database"]);
答案 1 :(得分:0)
您面临的问题是您选择数据库的行;
$db = mysqli_select_db($SETTINGS["mysql_database"], $connection) or die ('request "Unable to select database."');
根据mysqli_select_db()
的文档定义,连接$connection
(文档中的$link
)应该是第一个参数:
$db = mysqli_select_db($connection, $SETTINGS["mysql_database"]);
您需要偶尔为每个i
函数添加 mysql_*
的原因是因为所有mysql_*
函数都是officially deprecated,在PHP 7.0.0中不再维护和removed。您应该使用PDO或MySQLi更新代码,以确保将来的项目功能。