Получите результаты в переменную сеанса, вызывающую объект __PHP_Incomplete_Class

Возможный дубликат:
Session, PHP Incomplete Class

Нужна помощь, пожалуйста. У меня есть следующий код, который запрашивает базу данных FileMaker в PHP.

Запрос выводит ожидаемые результаты, и поскольку я хочу использовать эти результаты в другом месте, я хочу сохранить/кэшировать их в сеансе. Однако, когда я сохраняю их в $_SESSION, я получаю объект __PHP_Incomplete_Class, но если я печатаю нормальный результат, он, кажется, печатается нормально.

Это код, который работает, а ниже — нет. Они почти идентичны. Я использую собственную установку PHP FileMakers. PHP 5

Рабочий код:

if(!session_id()) session_start();

$find = $fm->newFindCommand('Web'); 

$find->addFindCriterion('ID', '=='.$_SESSION['ID']);

$Results = $find->execute();

echo "<pre>";
print_r($Results); // this prints perfectly i.e. FileMaker_Result_Implementation Object
echo "</pre>";

Неисправный код:

if(!session_id()) session_start();

$find = $fm->newFindCommand('Web'); 

$find->addFindCriterion('ID', '=='.$_SESSION['ID']);

$Results = $find->execute();

$_SESSION['results'] = $Results;

echo "<pre>";
print_r($_SESSION); //I want to print all the sessions out
echo "</pre>"

Спасибо, парни.


person JK36    schedule 02.01.2013    source источник


Ответы (1)


__PHP_Incomplete_Class означает, что класс неизвестен PHP. Загрузите класс перед началом сеанса, и все должно работать

person Fabian Blechschmidt    schedule 02.01.2013
comment
Привет, Фабиан, спасибо за ответ. Вы имеете в виду использование класса FileMaker.php? У меня уже есть require_once('FileMaker.php'); Все еще выдает ту же ошибку. - person JK36; 02.01.2013
comment
Я не знаю FileMaker :) ... когда вы инициализируете сеанс, PHP пытается разбудить все сохраненные объекты. Но PHP необходимо проанализировать оператор class Classname {} для всех классов. adamyoung.net/PHP-Autoload-Hints - person Fabian Blechschmidt; 02.01.2013