Forum Webscript.Ru

Программирование => PHP => Тема начата: Croaker от 17 Мая 2002, 12:41:35

Название: запрсы и классы
Отправлено: Croaker от 17 Мая 2002, 12:41:35
К сожаленю код предоставить не могу (он дома), но попробую вспомнить нужные фрагменты.
Есть класс:


class SQL {
.....

    function DataSel() {
         $this->query = "SELECT * from t_posts";
         $this->result = mysql_query($this->query, $this->conn_id) or die("Bla-Bla-Bla");
          return $this->result;
    }
}


$out = new SQL;
$result = $out->DataSel();

// И тут начинается самое интересное

while ($row = mysql_fetch_array($result)) {
........
}


И php ругается. Говорит, что $row - not valid mysql resorse (или что-то типа). Причем, если все писать не используя классы - прекрасно работает.

И теперь уважаемые знатоки - вопрос! собственно - почему return $this->result не воспринимается, как результат запроса?
Название: запрсы и классы
Отправлено: AlieN от 17 Мая 2002, 12:57:13
Croaker
1) попробуй убрать $this->conn_id
2) покажи как ругается
Название: запрсы и классы
Отправлено: AliMamed от 17 Мая 2002, 12:59:07
а где mysql_connect?
Название: запрсы и классы
Отправлено: Croaker от 17 Мая 2002, 13:14:10
AlieN
1) Уже пробовал - не помогает.
2) Блин, рад бы - да не могу: скрипт дома, я - нет. Смысл ругани:  $result - неверный результат запроса, т.е. mysql что-то вернула, но вернула не то.

AliMamed
В пяти точках выше =).

Собственно в классе уже есть функция, которая вводит данные в базу и собственно ничего не возвращает. Так вот она работает правильно. А DataSel(), которая должна возвраить что-либо - ругается. Пробовал в самой функции написать:

.....

while($row=mysql_fetch_array($this->result)) {
   print $row[\'name\'];
   .....
}

чтоб она ничего не возвращала. Все равно не пашет.
Название: запрсы и классы
Отправлено: Dm от 17 Мая 2002, 23:34:46
если вместо $result поставить $out->result?
Название: запрсы и классы
Отправлено: Croaker от 20 Мая 2002, 10:30:26
Цитировать
если вместо $result поставить $out->result?

тогда все работает =). Спасибо DM.