mysqli_connect_error после ошибки mysqli_select_db не возвращает сообщение

tasol

Новичок
PHP:
$db_connect = mysqli_connect(DB_HOST, DB_USERNAME, DB_PASSWORD); //  без бд по умолчанию

$select = mysqli_select_db($db_connect, 'no_exists_db'); // no_exists_db не существующая бд
а теперь вызываем
PHP:
mysqli_connect_error();// null
ошибка есть, но функция ее не выводит, почему?

вариант конечно есть

PHP:
if (!$select) echo "Почему-то не выбрана база"; //логика ясна
или посмотреть свойство error в объекте соединения $db_connect->error
оно содержит строку "Unknown database 'no_exists_db'"
выводить эту строку задача функции mysqli_connect_error()

но получается то, что она выводит сообщение только для ошибки вызванной mysqli_connect
и то что я зря написал это, потому что так и должно

и придется использовать проверку возвращаемого значения mysqli_select_db с последующим извлечением ошибки из объекта (или сразу проверять значение из него)

все то же самое происходит если использовать ооп интерфейс
 

tasol

Новичок
странное поведение для функции, которая називается mysqli_connect_error(), правда?

а это тебе зачем?
1) пока писал первый пост стало ясно, хотя теперь возник вопрос зачем специальная функция, если уже есть mysqli_error()

2)
код ошибки для этого нужен

PHP:
define('ERR_1049', 'Такой базы нет');
define('ERR_1007', 'Такая база уже есть');

if (mysqli_error($connection)) {
   $error = 'ERR_' . mysqli_errno($mysqli);
   echo constant($error);
}
и тд
 

tasol

Новичок
разобрался

$connect = mysqli_connect(DB_HOST, DB_USER,"bad_pass");
mysqli_error($connect) не сможет проверить дескриптор соединения, так как он [$connect] не создастся из за ошибки, а будет иметь значение false

mysqli_connect_error() для того чтобы выйти из этой ситуации
и может возвращать только ошибки соединения
 

tasol

Новичок
А это-то зачем? Зачем пользователю сайта знать про какие-то там базы?!
это не для посетителя, а для клиента
это в основном должно происходит на стадии установки скрипта на хостинг

ну и для принятия решения в бизнес-логики приложения
 
Сверху