2011-10-08 4 views
2

Новичок здесь, пытаясь заставить это работать: Я делаю онлайн-индекс для библиотеки. Я использую php и mySQL, которые я запускаю на сервере Apache. Я создал класс, называемый book, который содержит информацию о каждой книге, и статический класс, называемый DBFunctions, который содержит только статические функции, которые я вызываю для подключения и взаимодействия с базой данных. Я пытаюсь вызвать функцию из класса DBFunctions из класса Book, но я продолжаю получать ошибку. Моя функция в классе книги является:Вызвать функцию класса из другого класса

function setTagIDs(){ 
    this->TagIDs = DbFunctions::getTagIdsForBook($this->BookID); 
} 

dbFunction создает оператор выбора подключается к базе данных и возвращает результат. Он отлично работает на тестовой странице.

Но когда я называю его из класса, я получаю следующее сообщение об ошибке:

Анализировать ошибка: синтаксическая ошибка, неожиданный T_OBJECT_OPERATOR в \ Classes \ ClassBook.php на линии 111

Я посмотрел в довольно много места, но я не могу понять, в чем проблема, любая помощь была бы оценена

Благодаря

Стивен

ответ

3

Вы просто пропуская ни $ на this:

$this->TagIDs = DbFunctions::getTagIdsForBook($this->BookID); 
    ^^ 

unexpected T_OBJECT_OPERATOR указывает -> встречалось, прежде чем он должен был быть там. Поэтому, чтобы интерпретировать ошибку, найдите первый -> и оглянитесь назад.

+0

Я чувствую себя полным идиотом. – MackTheKnife

+0

@ user985331 Не надо. Вы являетесь самопровозглашенной n00b, и вы привыкнете к тому, как PHP анализирует ошибки анализа. Если у вас его нет, получите текстовый редактор, который поддерживает подсветку синтаксиса. Отсутствие '$' _might_ становится очевидным с подсветкой синтаксиса, в зависимости от редактора. –

Смежные вопросы