Если у вас нет другого кода, который не показан здесь, ваша проблема в том, что вы не включили файл, который определяет объект базы данных.
Существует несколько способов сделать это, используя include/include_once
или require/require_once
или используя автозагрузчик.
Включить & Требовать
Этот метод включения будет, по сути, присоединиться к включаемый файл в текущий файл. Например, если у вас есть файл с именем a.php
так:
$varA = 'I am A!';
и файл с именем b.php
так:
include('a.php');
echo $varA;
... Вы можете написать код в b.php
, как если бы код в a.php были в том же файле. Альтернатива include
, require
, работает точно так же, с одним важным отличием. Если файл include
'd не найден, будет выдано предупреждение. Если файл require
'd не найден, это будет фатальной ошибкой.
Оба варианта имеют вариант *_once
. Без него файл добавляется каждый раз, тогда как include_once
добавит код только при первом вызове в заданном файле.
Autoloader
Есть два способа добавить автозагрузчик. Автозагрузчик - это «помощник», который направляет ваш скрипт в правильное расположение файла. Этот код выполняется всякий раз, когда вы пытаетесь создать новый класс с использованием ключевого слова new
или в некоторых других обстоятельствах.
Один способ автозагрузки использует магическую функцию __autoload. Как правило, не используйте это. Альтернативой является spl_autoload_register
[docs], который регистрирует данную функцию как «помощник». Если у вас нет конкретной причины не использовать этот подход, вам следует.
Вот простой пример, прямо из документации:
function my_autoloader($class) {
include 'classes/' . $class . '.class.php';
}
spl_autoload_register('my_autoloader');
Documentation
Похоже, вы не включили класс в connect.php ... – Martijn
Включили ли вы файл, содержащий ваш класс? Проверьте, правильно ли он включен и доступен ли с помощью 'class_exists()' –