2014-02-18 2 views
0

Вопрос: что именно это сообщение об ошибке сообщает мне? Что мне нужно делать конкретно?Неустранимая ошибка: вызов функции-члена sql_in_set() для не-объекта в

Fatal error: Call to a member function sql_in_set() on a non-object in /home/savasyil/speedersclan/inc/recenttopicsfeed.php on line 15 

У меня есть страница php, которая вытаскивает пользователей и информацию с форума phpbb3. Я решил добавить последнюю боковую панель темы на той же странице и использовать код из другого места, чтобы он не был моим, и я не совсем понимаю его. Я получаю это сообщение об ошибке.

Я пробовал смотреть и не могу понять это, но я думаю, я хочу полностью понять, что это значит, чтобы лучше попытаться его решить.

спасибо.

+0

это вы соединение db ok? –

+0

Мое соединение db прекрасное. – savasfreeman

ответ

0

Это сообщение об ошибке объясняет, говоря, что sql_in_set вызывается для не-объекта.

Если вы знакомы с концепциями OOPS, вы должны знать, что всякий раз, когда мы собираемся вызывать некоторые функции-члены класса, мы должны делать это через объекты класса. например: $ db = new Database(); $ db-> member_function();

В этом примере мы вызываем member_function по объекту $ db класса базы данных.

Как вы уже упоминали, вы используете форму phpbb3 и код копирования из другого места.

Я полагаю, что вы делаете что-то вроде:

$ SQL = 'SELECT * FROM'. USERS_TABLE. ' ГДЕ ' . $ db-> sql_in_set ('user_id', $ sql_in);

, как описано здесь: https://wiki.phpbb.com/Dbal.sql_in_set

Так я полагаю, вы используете его где-нибудь, где $ дб не доступен/еще не создано.

Попробуйте понять поток phpbb3 и передать переменные в соответствии с ним.

+0

Это хорошее объяснение, но это не совсем ответит на мой вопрос, поскольку вы в значительной степени зачитали сообщение об ошибке для меня. Может быть, я был недостаточно ясен, но мне было интересно, что я должен делать дальше, в частности. Во всяком случае, я исправил его, мне просто нужно было переименовать $ db в другое, поскольку это используется скриптом. По сути, это путалось. НО я изменил его на скрипт, и он не работал, поэтому я попытался изменить его на моей странице реестра, и все было в порядке. – savasfreeman