У меня есть хороший бесплатный для поиска в базе данных. Он был написан на 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."');
};
?>
Проблема, с которой вы сталкиваетесь — это строка, в которой вы выбираете базу данных;
$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_*
функции официально устарел, больше не поддерживается а также удален в PHP 7.0.0. Вы должны обновить свой код с PDO или же MySQLi обеспечить функциональность вашего проекта в будущем.
С 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"]);