Автор Тема: Объекты...  (Прочитано 2830 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Grape

  • Grappa grande
  • Ветеран
  • *****
  • Сообщений: 758
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.grape.com.ua
Объекты...
« : 15 Декабря 2003, 02:43:46 »
Подскажите пожалуйста в чем мжет быть проблема. Выдает:
Цитировать
Fatal error: Call to a member function on a non-object

В этой строке:
Цитировать
if((!$this->db->query(\'TRUNCATE \'.$this->table)) && (!$this->db->query(\'DELETE FROM \'.$this->table))) die("phpDbTree error: ".$this->db->error());

Попытался разобрать по частям, выдает ошибку (для начала) на:
Цитировать
$this->db->query()

Функция:
Цитировать
print_r(get_object_vars($this));

Выдает:
Цитировать
Array
(
    [db] => Resource id #5
    => cms_rus_structure
   
[id] => struct_id
   
=> lft
   
=> rgt
    [level] => level
    [qryParams] =>
    [qryFields] =>
    [qryTables] =>
    [qryWhere] =>
    [qryGroupBy] =>
    [qryHaving] =>
    [qryOrderBy] =>
    [qryLimit] =>
    [sqlNeedReset] => 1
    [sql] =>
    [title] => title
)

Т.е. указатель подключения к базе данных передается.
Я использую классы: CDBTree (phpDBTree 1.1) и CDatabase (phpDatabase 2.1).

Оффлайн Grape

  • Grappa grande
  • Ветеран
  • *****
  • Сообщений: 758
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.grape.com.ua
Объекты...
« Ответ #1 : 15 Декабря 2003, 03:00:17 »
Понял, там были грабли с подключением CDatabase.
[OFF]Да, с объектной моделью еще разбираться и разбираться... Да и с остальным тоже... :)[/OFF]

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
Объекты...
« Ответ #2 : 15 Декабря 2003, 03:00:43 »
Если я ничего не путаю, $this->db - у тебя должен быть объектом, т.е. print $this->db должен выводить "object". А как он (this->db) у тебя определяется?
Не все коту матрица.

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
Объекты...
« Ответ #3 : 15 Декабря 2003, 03:02:49 »
опаздал.. :)
Не все коту матрица.

Оффлайн Grape

  • Grappa grande
  • Ветеран
  • *****
  • Сообщений: 758
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.grape.com.ua
Объекты...
« Ответ #4 : 15 Декабря 2003, 03:37:15 »
Если использовать данную функцию, то можно ли потом использовать mysql_fetch_array() или нужно mysql_fetch_object() ?
function showTree() {
	
$this->sql = \'SELECT \'.$this->id.\',\'.$this->left.\',\'.$this->right.\',\'.$this->level.\' FROM \'.$this->table.\' WHERE lft > 1 ORDER BY lft ASC\';
	
if(($query=$this->db->query($this->sql)) && ($this->db->num_rows($query) > 0))
	
return $query;
	
else die("phpDbTree error: ".$this->db->error());
}

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
Объекты...
« Ответ #5 : 15 Декабря 2003, 03:49:14 »
а что есть возвращаемый функцией $query?
Не ясно, т.к. не видно метода $this->db->query().

А вообще самый быстрый метод выяснить - взять и попробовать сделать. ;)
Не все коту матрица.

Оффлайн Grape

  • Grappa grande
  • Ветеран
  • *****
  • Сообщений: 758
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.grape.com.ua
Объекты...
« Ответ #6 : 15 Декабря 2003, 04:08:23 »
Вот я и делаю...:) А этот метод:
function query($sql) {
	

	
if(!
$this->link) return 0;
	
return 
mysql_query($sql$this->link);
}

Просто до сих пор туда и не добрался по ходу дела баги находятся...

Оффлайн Grape

  • Grappa grande
  • Ветеран
  • *****
  • Сообщений: 758
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.grape.com.ua
Объекты...
« Ответ #7 : 15 Декабря 2003, 05:20:17 »
Все, я уже нашел.

Оффлайн Grape

  • Grappa grande
  • Ветеран
  • *****
  • Сообщений: 758
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.grape.com.ua
Объекты...
« Ответ #8 : 15 Декабря 2003, 05:23:36 »
Там не зависит от применяемой функции так как передается ссылка на результат.
[OFF]Прверено - мин нет (с) непомню откуда, вроде анегдот :).[/OFF]

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28