Я пытаюсь подключиться к базе данных с использованием значений по умолчанию для mysqli constructor, который документально быть:Использования значений по умолчанию для Mysqli конструктора не удается
- хозяин =
ini_get("mysqli.default_host")
- имя пользователь =
ini_get("mysqli.default_user")
- passwd =
ini_get("mysqli.default_pw")
Причина, по которой я хочу использовать настройки по умолчанию, поэтому я могу иметь учетные данные в файле конфигурации inst а также разбросаны по моему коду. Однако, когда я не передаю никаких значений, соединение выполняется успешно, но затем последующие запросы завершаются с ошибкой.
$db = new mysqli();
if ($db->connect_errno) die("Connect failed: " . $db->connect_error);
if ($rs = $db->query("select user();") or die("Query failed: " . $db->error)) {
$row = $rs->fetch_row();
echo $row[0];
$rs->close();
}
Это выходы:
Запрос не удалось:
Это означает, что соединение установлено, но любой запрос завершается с ошибкой. (Другие действия, такие как select_db
, не в состоянии точно так же.)
Интересно, что я могу это исправить, изменив первую строку:
$db = new mysqli(ini_get("mysqli.default_host"),
ini_get("mysqli.default_user"),
ini_get("mysqli.default_pw"));
... но я бы предпочел не должны введите значения по умолчанию везде, где мне нужно подключение к базе данных. Что я делаю не так? Есть ли способ использовать конструктор mysqli
без аргументов?