Здравствуйте,
При переезде на php7/mysql5 возник следующий конфликт:
данные для подключения к бд лежат в отдельном файле db.php, подключаются по старинке:
include_once ($_SERVER["DOCUMENT_ROOT"]."/s/php/db.php");
Далее идет подключение к бд:
$link = mysqli_connect(
$host,
$user,
$pass,
$db);
if(!$link) {
echo mysqli_connect_error();
}
$q = mysqli_query($link, "SELECT * FROM `flights` WHERE pod = '".$pod."' ORDER BY id DESC LIMIT 5");
На старой версии php/mysql такая конструкция работала без проблем (через функции mysql_connect, mysql_query), а в новой страница выдает ошибки:
Warning: mysqli_connect(): (HY000/1045): Access denied for user ''@'localhost' (using password: NO) in /Users/aaa/Sites/s/php/functions.php on line 11
Access denied for user ''@'localhost' (using password: NO)
Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in /Users/aaa/Sites/s/php/functions.php on line 17
Однако при этом функция РАБОТАЕТ и выдает запрашиваемые данные. Пароль к юзеру установлен.
Стоит поменять в подключении к серверу переменные на конкретные данные без подключения файла:
$link = mysqli_connect(
"localhost",
"root",
"pass",
"test");
Как все ошибки пропадают и выдача данных по прежнему работает. Логично предположил, что функция include_once как то некорректно подключает файл с данными к бд, но там все ок и еще раз повторюсь - соединение то работает. В чем проблема?