[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не пропадает перменная
Страницы: 1, 2
DmitryOpalev
tomash
можешь привести пример или пояснить? я не понимаю как это сделать, я не могу удалить переменнные


_____________
Курс валют
DmitryOpalev
SlavaFr
Ну да, логично:) только это мне и не понятно, что в других местах класса он как бы не существует, а при объявлении метода появляется

_____________
Курс валют
SlavaFr
Цитата (DmitryOpalev @ 9.01.2013 - 17:38)
Ну да, логично:) только это мне и не понятно, что в других местах класса он как бы не существует, а при объявлении метода появляется

он появляется внутри объекта. и именно во время вызава метода where:

public function where($where="") {
$this->_where = $where;//прямо здесь!!!
return $this;
}


а во время вызова функции query в следующий раз :
public function query() {
$this->_query = $this->_command." ".$this->_commandvalue." FROM `".$this->_table."`";

//здесь он добавляет WHERE и содержание переменной $this->_where, которую ты посадил при последнем вызове метода where() !!!
if(!empty($this->_where)) {$this->_query .= " WHERE ".$this->_where;}
return $this;
}


_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
DmitryOpalev
Цитата
//прямо здесь!!!

biggrin.gif
А как мне теперь удалить эту переменную?

_____________
Курс валют
SlavaFr
Цитата (DmitryOpalev @ 9.01.2013 - 18:07)
А как мне теперь удалить эту переменную?



Не, ну ты уже все нервы нам вытрепал :D

public function query() {
$this->_query = $this->_command." ".$this->_commandvalue." FROM `".$this->_table."`";

if(!empty($this->_where)) {
$this->_query .= " WHERE ".$this->_where;
}

$this->_command=$this->_commandvalue=$this->_table=$this->_where = '';

return $this;
}


_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
tomash
ладно, раз пошла такая пьянка...
у тебя методы fetchAll, fetchOne, numRows все время дергают mysql_query, а это нужно убрать. В этих методах делаешь так

if($this->rs !== null){
$this->rs = mysql_query($this->_query) or die(mysql_error());
$this->_command=$this->_commandvalue=$this->_table=$this->_where = '';
}
while($row = mysql_fetch_assoc($this->rs)) {$this->_row[] = $row;}
return $this->_row;


а в методе query()

$this->rs = null


_____________
Чтобы понять, что такое рекурсия - нужно понять, что такое рекурсия.
tomash
а можно реализовать интерфейс Iterable тогда можно доставать результаты через foreach
$rs = $db->query();
foreach($rs as $row){
echo $row->id;
}


_____________
Чтобы понять, что такое рекурсия - нужно понять, что такое рекурсия.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.