Page 1 of 1

zmfilter.pl error. bug

Posted: Fri Mar 26, 2004 1:27 am
by fernando
well i keep testing the filter. so i find this error..

<img src="http://cablemodem.fibertel.com.ar/campo ... lter_1.jpg" width="572" height="281">

i use this filter to delete some filters. in the console works ok ... but zmfilter reports this..

DBD::mysql::st execute failed: You have an error in your SQL syntax. Check the
manual that corresponds to your MySQL server version for the right syntax to use
near '2004-03-25 09:00:00' )' and extract( hour_second from E.StartTi at /usr/local/bin/zmfilter.pl line 410.
Can't execute: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '2004-03-25 09:00:00' )' and extract( hour_second from E.StartTi at /usr/local/bin/zmfilter.pl line 410.

fernando

Re: zmfilter.pl error. bug

Posted: Fri Mar 26, 2004 9:16 am
by zoneminder
Hi Fernando,

Are you sure you have 1.19.1 installed as this filter works for me in both the console and zmfilter.pl? If so have you restarted ZM since upgrading?

Phil,

Re: zmfilter.pl error. bug

Posted: Sat Mar 27, 2004 1:44 am
by fernando
well yes i was't using las version..
now i have another bug. this filter only works if i restart zm. not automatic.. i have another filter that delete events "-6 hours" and works great.

i dont have any log.. zmfilter.log dont report anything. i use verbose and nothing.





fernando

Filter error

Posted: Tue Apr 20, 2004 3:58 am
by tommy
I'm also using 1.19.1. Is this the same problem? When I try to rename an event I get this sql error
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ') order by E.StartTime asc' at line 1

It seems to be coming from parseFilter in zm_funcs.php. By watching my web server logs I noticed the variable trms was not always assigned a value. I got around it by changing line 616 in zm_funcs.php from this:
$filter_sql = " and ( $filter_sql )";
to this:
if ( $trms )
{
$filter_sql = " and ( $filter_sql )";
}
This prevents "and ()" from being in the query when trms has no value.
Not sure if this is a valid fix or not. Will leave it in and see what happens.