@Devastor
I ❤❤❤ JAVASCRIPT

Почему после подключения PHP MySQLi класса код перестаёт работать?

Суть такова, есть два php файла.
Содержание первого first.php файла:
include_once('class/second.php');
Содержание второго second.php:
include_once ('../lib/MysqliDb.php');
$db = new MysqliDb ('host', 'username', 'password', 'databaseName');
$data = Array ("content" => "text");
$id = $db->insert('Feedback', $data);
if($id)
echo 'Фидбек записан с id '.$id;

Проблема в следующем: второй файл перестаёт работать сразу после подключения класса MysqliDb
При этом если подключение в первом файле и вызов в первом файле, то всё работает, но если подключение в первом файле, а вызов во втором то опять не работает.
В чем проблема, как правильно подключать подобные классы?
Спасибо!
Благодаря отладке разобрался:
Дело в том, что когда подключаешь файл first к second, при подключении файлов из second нужно прописывать путь, словно вызываешь из файла first! Спасибо!
  • Вопрос задан
  • 2682 просмотра
Пригласить эксперта
Ответы на вопрос 4
StaDi
@StaDi
Курьер в it отделе
new MysqliDb ('', '', '', ''););
ничего не смущает?

и включи ошибки если такие дела
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега PHP
Не недо использовать этот класс. Его писал идиот.
$this->_query = filter_var($query, FILTER_SANITIZE_STRING);

В одной этой строчке сразу ДВЕ фатальные ошибки.
плюс отсутствует нормальная обработка ошибок mysql.

ОМГ
$this->_mysqli = new mysqli ($this->host, $this->username, $this->password, $this->db, $this->port)
            or die('There was a problem connecting to the database');

А за такое надо руки отрывать, и пришивать туда, откуда они на самом деле растут.

Используй вот этот https://github.com/colshrapnel/safemysql
В нем конечно нет убогого квери билдера, но на самом деле он тебе и не нужен.
Ответ написан
попробуйте заменить include_once на require_once
Ответ написан
Всё из-за грустных смайликов.
$db = new MysqliDb ('host', 'username', 'password', 'databaseName'););

););
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы