[Cartoweb-users] recentering syntax-error?
Alexandre Saunier
alexandre.saunier at camptocamp.com
Fri Mar 31 11:31:27 EST 2006
Hello,
well it seems that Postgres does not appreciate the non-escaped quotes
in "name = 'name in ('Belgium')'".
I assume that "Belgium" is the recentering query string or something?
I don't know where this part of the SQL query is built but try to
addslash() the incoming querystring in your plugin. There's a built-in
static method available in CW for that: Utils::addslashes() => it adds
slashes in front of quotes if it as detected that PHP magic_quotes are off.
Anyway your WHERE clause is kinda weird, isn't it? There's probably too
many "name" in it...
AS
bram wrote:
> Hi list,
>
> I used the demoLocation plugin from the demoPlugins-project in
> myproject, which goes fine. But when I choose an item to recenter
> on a syntax error occurs. I can't imagine there still is a bug
> somewhere in a script so obviously I'm making a mistake somewhere. I
> tried other id_attributes_string & string/value combinations. Who knows
> what's going wrong?
>
> Part of the mapfile:
>
> CONNECTIONTYPE POSTGIS
> CONNECTION "dbname=edit_db host=localhost user=www-data password=a123
> port=5432"
> DATA "the_geom from (select the_geom, area, gid, name, oid from
> countries where name < 'C') as foo2 using unique oid using SRID=-1"
> METADATA
> "exported_values" "recenter_name_string,id_attribute_string"
> "recenter_name_string" "name"
> "id_attribute_string" "name|string"
> "query_returned_attributes" "name area"
>
>
> Errorreport:
>
> Error in prepare_database(): Error executing POSTGIS DECLARE (the actual
> query) statement: 'DECLARE mycursor BINARY CURSOR FOR SELECT
> name::text,asbinary(force_collection(force_2d(the_geom)),'NDR'),oid::text
> from (select the_geom, area, gid, name, oid from countries where name <
> 'C') as foo2 WHERE (name = 'name in ('Belgium')') and (the_geom &&
> setSRID( 'BOX3D(-2843979.38207143 -1361319.536,2888428.68507143
> 2651366.111)'::BOX3D,-1) )' Postgresql reports the error as 'ERROR:
> syntax error at or near "Belgium" at character 227
> '
>
> Thanks for help!
>
> Bram
>
> _______________________________________________
> Cartoweb-users mailing list
> Cartoweb-users at lists.maptools.org
> http://lists.maptools.org/mailman/listinfo/cartoweb-users
More information about the Cartoweb-users
mailing list