funtic
Guest
Непонятнки при работе функции в одном и том же классе
Ничего не могу понять, в одном классе находятся 2 функции которые абсолютно идентично пользуюся родительским классом, при этом первая функция отрабатывает как надо, а вторая выкидывает ошибки.
Код такой:
РОДИТЕЛЬСКИЙ класс mysql_class, и функция:
И две функции, первая из которых работает, а вторая - нет:
Код взят со страниц, последовательность соблюдена. Вопрос такой: функция out_menu_main() выводит результат без проблем, а вот вторая функция выдает ошибку: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\www-made\req\out_class.php on line 116 (строка помеченная *****). В чем косяк не пойму, почему то не передается идентификатор соединения и результат выполнения query.
помогите разобраться
Ничего не могу понять, в одном классе находятся 2 функции которые абсолютно идентично пользуюся родительским классом, при этом первая функция отрабатывает как надо, а вторая выкидывает ошибки.
Код такой:
РОДИТЕЛЬСКИЙ класс mysql_class, и функция:
PHP:
function sql_execute(){
//проверка существующего подключения
if(!$this->connection_id){
$err=$this->sql_connect();
if(!$err) return($err);
}
$this->sql_res=mysql_query($this->sql_query, $this->connection_id);
if(!$this->sql_res){
$this->sql_errno=mysql_errno($this->connection_id);
return(103); //невозможно выполнить запрос к БД
}
//если запрос содержит select то определяем количество извлеченных строк.
if(eregi("select", $this->sql_query)){
$this->sql_num_rows=mysql_num_rows($this->sql_res);
}
//обработка ошибок
if($this->sql_errno){
$this->sql_err=mysql_error($this->connection_id);
return(101);
}
return(0);
}
PHP:
function out_menu_main(){
//запрос на выборку всех рубрик
$this->sql_query="SELECT cat_id, cat_name FROM tbl_cat WHERE cat_enable='Y' ORDER BY cat_position";
$err=$this->sql_execute();
if($err) return($err);
$out_menu_main="<table width=\"150\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
if(!mysql_num_rows($this->sql_res)) return(15254);
while(list($cat_id, $cat_name)=mysql_fetch_row($this->sql_res)){
$this->arr_menu[$cat_id]=$cat_name;
$out_menu_main.="<tr>";
$out_menu_main.="<td width=\"15\"></td>";
$out_menu_main.="<td width=\"135\"><a href=\"?id=".$cat_id."\" class=\"\">".$this->arr_menu[$cat_id]."</a></td>";
$out_menu_main.="</tr>";
}
$out_menu_main.="</table>";
return($out_menu_main);
}
function get_page_info($id){
$id=(int)$id;
//запрос на выборку всей информации о текущей странице
$this->sql_query="SELECT block_name, block_text, block_title, block_keywords, block_description, parent_id, block_tpl ";
$this->sql_query.="FROM tbl_blocks ";
$this->sql_query.="WHERE block_id='".$id."' AND block_show='Y'";
$err=$this->sql_execute();
if($err) return($err);
//если ничего не выбрано
**** if(!mysql_num_rows($this->sql_res)){ ****
$this->page_info['block_title']=$this->block_title_def;
$this->page_info['block_keywords']=$this->block_keywords_def;
$this->page_info['block_description']=$this->block_description_def;
$this->page_info['block_text']=$this->block_text_def;
$this->page_info['block_tpl']=1;
}
else {
list($this->page_info['block_name'], $this->page_info['block_text'], $this->page_info['block_title'], $this->page_info['block_keywords'], $this->page_info['block_description'], $this->page_info['parent_id'], $this->page_info['block_tpl'])=mysql_fetch_row($this->sql_res);
}
$this->page_text=$this->out_block(); //получаем код выводимой страницы
return(0);
}
помогите разобраться