Forum Webscript.Ru
Программирование => PHP => Тема начата: 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 не воспринимается, как результат запроса?
-
Croaker
1) попробуй убрать $this->conn_id
2) покажи как ругается
-
а где mysql_connect?
-
AlieN
1) Уже пробовал - не помогает.
2) Блин, рад бы - да не могу: скрипт дома, я - нет. Смысл ругани: $result - неверный результат запроса, т.е. mysql что-то вернула, но вернула не то.
AliMamed
В пяти точках выше =).
Собственно в классе уже есть функция, которая вводит данные в базу и собственно ничего не возвращает. Так вот она работает правильно. А DataSel(), которая должна возвраить что-либо - ругается. Пробовал в самой функции написать:
.....
while($row=mysql_fetch_array($this->result)) {
print $row[\'name\'];
.....
}
чтоб она ничего не возвращала. Все равно не пашет.
-
если вместо $result поставить $out->result?
-
если вместо $result поставить $out->result?
тогда все работает =). Спасибо DM.