parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Прошу помощи, не могу найти ошибку в операторе...

MultiSyn 25.09.2004 17:23 / 25.09.2004 17:26

Вот такой вызов оператора:
^statis[$request:uri;$form:name;$form:proiz]
Выдает ошибку:
Unhandled Exception (Debug)
method_frame may not be overwritten with table, store it to variable instead
MAIN

и указывает на строку, где этот оператор вызывается.

Никак не могу найти ошибку - объект, который Парсер не может вывести.

А вот сам оператор,
он записывает в базу посещения произведений авторов -
новых посетителей за текущий день,
всего посетителей за тек.день и хиты за день.
Т.е. в итоге в таблице statistics в базе
на каждый день и на одно произведение
отводится отдельная строка:
@statis[url;name;proiz][u;now;sqldate;parts;statistb;new_visitor;visitor;hits;proiz_day]

^if(def $url && def $name && def $proiz){

$u[/authors/?name=$name&proiz=$proiz]
^if($url eq $u){

^if(^auth_table.locate[au_eng;$name]){


$now[^date::now[]]
$sqldate[^now.sql-string[]]
$parts[^sqldate.split[ ;lh]]

^dbconnect{

	$statistb[^table::sql{
		SELECT date, new_visitor, visitor, hits
		FROM statistics
		WHERE au_eng='$auth_table.au_eng' AND eng_header='$proiz' AND date='$parts.0'
		}[$.limit(1) $.offset(0)]
		]

^if(def $statistb){
	$new_visitor($statistb.new_visitor)
	$visitor($statistb.visitor)
	$hits($statistb.hits)
	}{
	$new_visitor(0)
	$visitor(0)
	$hits(0)
	}


^if(!def $cookie:$proiz){
	$cookie:$proiz[
		$.value[on]
		$.expires(365)]
		^new_visitor.inc(1)
	}
$proiz_day[${proiz}_day]
^if(!def $cookie:$proiz_day || $cookie:$proiz_day ne $parts.0){
	$cookie:$proiz_day[
		$.value[$parts.0]
		$.expires(1)]
		^visitor.inc(1)
	}
^hits.inc(1)			

^if(def $statistb){
	^void:sql{
		UPDATE statistics
		SET new_visitor='$new_visitor', visitor='$visitor', hits='$hits'
		WHERE date='$parts.0' AND au_eng='$auth_table.au_eng' AND eng_header='$proiz'
		}
	}{
	^void:sql{
		INSERT INTO statistics
		(date, au_id, au_eng, eng_header, new_visitor, visitor, hits)
		VALUES
		('$parts', '$auth_table.au_id', '$auth_table.au_eng', '$proiz', '$new_visitor', '$visitor', '$hits')
		}	
	}

^rem{*** end dbconnect ***}
}

^rem{*** end locate ***}
}

^rem{*** end if ***}
}

^rem{*** end if ***}
}


  • Прошу помощи, не могу найти ошибку в операторе..., MultiSyn 25.09.2004 17:23 / 25.09.2004 17:26