функция форума sql_query не доступна

Форум для авторов модов для phpBB 3.0.x. Здесь можно попросить помощи в разработке у коллег.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Santehnick
phpBB 1.0.0
Сообщения: 2
Стаж: 16 лет 1 месяц
Благодарил (а): 1 раз

функция форума sql_query не доступна

Сообщение Santehnick »

Я создал свой класс, в нем у меня есть следующая функция

Код: Выделить всё

	function out_news_list()
	{
		$sql = "SELECT title,news FROM news order by id";
		$result = $db->sql_query($sql,$db->db_connect_id);
		
		while($news = mysql_fetch_array($result)) {
			$this->out_news_list .= "<p>" .$news['title']. "<br />". $news['news'] ."</p>";
		}
	}
как видно моя функция, юзает еще одну форумную функцию sql_query(), так вот когда я вызываю эту функцию на нужной мне странице, то получаю ошибку

Код: Выделить всё

Fatal error: Call to a member function sql_query() on a non-object in Z:\home\oturinske\www\forum\includes\classes\class_utils.php on line 73
мой класс подключается в common.php файл

Код: Выделить всё

require($phpbb_root_path . 'includes/classes/class_utils.' . $phpEx);
там же создается объект

Код: Выделить всё

$utils      = new utils;
потом юзаю на нужной мне странице

Код: Выделить всё

$utils->out_news_list();
$utils->out_news_list;
Сама функция доступна, а вот эта sql_query почему-то нет, запутался уже, помогите разобраться где не так чего. :(
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 17 лет 6 месяцев
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 3 раза
Поблагодарили: 351 раз

Re: функция форума sql_query не доступна

Сообщение MIT »

В начале функции напиши global $db;

Добавлено спустя 1 минуту 35 секунд:
И вместо mysql_fetch_array было бы лучше использовать $db->sql_fetchrow

Добавлено спустя 2 минуты 22 секунды:
И зачем ты в $db->sql_query передаёшь вторым параметром $db->db_connect_id? Ты видел объявление функции sql_query, знаешь что она может принимать вторым параметром?
Santehnick
phpBB 1.0.0
Сообщения: 2
Стаж: 16 лет 1 месяц
Благодарил (а): 1 раз

Re: функция форума sql_query не доступна

Сообщение Santehnick »

MIT, спасибо, да проблема была из-за того что переменную не объявил глобальной. на счет $db->sql_fetchrow тоже вкурсе, просто сначало хотел с sql_query разобраться. мельком глянул функцию sql_query, на сколько понял вторым параметром передается указатель на соединение с базой.
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 17 лет 6 месяцев
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 3 раза
Поблагодарили: 351 раз

Re: функция форума sql_query не доступна

Сообщение MIT »

Santehnick писал(а):на сколько понял вторым параметром передается указатель на соединение с базой
А вот и нет:

Код: Выделить всё

    /**
    * Base query method
    *
    * @param    string    $query        Contains the SQL query which shall be executed
    * @param    int        $cache_ttl    Either 0 to avoid caching or the time in seconds which the result shall be kept in cache
    * @return    mixed                When casted to bool the returned value returns true on success and false on failure
    *
    * @access    public
    */
    function sql_query($query = '', $cache_ttl = 0) 
Указатель на соединение хранится во внутренней переменной класса $db.

Вернуться в «Для авторов (phpBB 3.0.x)»