#php #mysql #connection
#php #mysql #подключение
Вопрос:
Я пытаюсь подключиться к mysql через php, используя эту строку
@ $db = new mysqli_connect('localhost', 'bookorama', 'bookorama123', 'books');
if (mysqli_connect_errno()) {
echo 'Error: Could not connect to database. Please try again later.';
exit;
}
Я не получаю никакого ответа, никакого сообщения об ошибке, ничего. Я даже добавил echo'hi';
после первой строки кода и это не отображается. Когда я добавил echo'hi';
перед выводом первой строки hi.
Какие-нибудь советы?
Ответ №1:
Избавьтесь от нового, вместо этого сделайте:
$db = mysqli_connect(...
или используйте new для создания объекта mysqli
$db = new mysqli(...
В первом случае $db присваивается возвращаемое значение функции. Функция mysqli_connect передает обратно созданный внутри функции объект. Во втором случае $db создается с помощью ключевого слова new как результат выражения «new mysqli(…».
Комментарии:
1. Я попробовал первый, и теперь я получаю неустранимую ошибку: вызов неопределенной функции mysqli_connect ()
2. @Aaron У вас установлен mysqli? Смотрите здесь php.net/manual/en/mysqli.installation.php
Ответ №2:
Прежде всего, удалите @
перед вызовами функции. @
заключается в том, чтобы исключить появление любых ошибок.
Во-вторых, удалите new
ключевое слово. Это для создания экземпляра нового класса, а не для вызова функции.
Ответ №3:
$db = @mysqli_connect('localhost', 'bookorama', 'bookorama123', 'books');
mysqli_connect — это не объект, это функция
Редактировать:
удалите @
, убедитесь, что ваш error_reporting( E_ALL );
$db = mysqli_connect('localhost', 'bookorama', 'bookorama123', 'books');
«Вызов неопределенной функции mysqli_connect()» — включен ли у вас модуль mysqli? — Да, в файле php.ini.
Комментарии:
1. Это та самая модель? extension=php_mysqli.dll [PHP_OCI8]