Mysqli исключение в Codeigniter

Пытаясь настроить проект в Codeigniter, я имею:

Неустранимая ошибка PHP: необработанное исключение «Exception» с сообщением
‘отсутствует: mysqli_real_escape_string или неверный идентификатор соединения’ в
/var/www/public/system/database/drivers/mysqli/mysqli_driver.php:341\nStack
трассировка: \ n # 0 /var/www/public/system/database/DB_driver.php(742):
CI_DB_mysqli_driver-> escape_str ( ‘192.168.33.1’) \ п # 1
/var/www/public/system/database/DB_active_rec.php(427):
CI_DB_driver-> бежать ( ‘192.168.33.1’) \ п # 2
/var/www/public/system/database/DB_active_rec.php(366):
CI_DB_active_record -> _ где (‘addr’, ‘192.168.33.1’, ‘AND’, true) \ n # 3
/var/www/public/application/classes/model.php(451):
CI_DB_active_record-> где (‘addr’, ‘192.168.33.1’) \ n # 4
/var/www/public/application/classes/model.php(495):
Model :: find_id (‘192.168.33.1’, ‘*’) \ n # 5
/var/www/public/application/classes/model.php(480):
Model :: find_sub (‘192.168.33.1’, NULL) \ n # 6
/var/www/public/application/core/CIL_Controller.php(981):
Модель :: найти ( ‘192.168.33.1’) \ п # 7
/var/www/public/application/core/CIL_Controller.php(104):
CIL_Controller-> check_blocked () \ п # 8
/ var / www / public / system / core / Контроллер в
/var/www/public/system/database/drivers/mysqli/mysqli_driver.php на
линия 341

Я не могу понять почему

Часть кода, которая генерирует ошибку:

if (function_exists('mysqli_real_escape_string') AND is_object($this->conn_id))
{
$str = mysqli_real_escape_string($this->conn_id, $str);
}
else
{
throw new Exception('missing: mysqli_real_escape_string or bad connection ID');
}

0

Решение

Предостережение Безопасность: набор символов по умолчанию Набор символов должен быть
установить либо на уровне сервера, либо с помощью функции API
mysqli_set_charset (), чтобы он влиял на mysqli_real_escape_string (). Увидеть
раздел понятия о наборах символов для получения дополнительной информации.

Или проверьте, есть ли ошибки при попытке подключения

$mysqli = @new mysqli('localhost', 'user', 'my_password', 'my_db');

if ($mysqli->connect_errno) {
die('Connect Error: ' . $mysqli->connect_errno);
}

И если все в порядке, сделайте это

$str= $mysqli->real_escape_string($str)
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector