[Date Prev][Date Next] [Chronological] [Thread] [Top]

back-sql quote characters in query



Hello.

I'm using openldap 2.4.19 with sql backend. I have a troubles with
queries that contains single-quote ( ' ) character.
For example, if I searching for (cn=Zool'man):

<==backsql_srch_query() returns SELECT DISTINCT
ldap_entries.id,phpbb_users.user_id,varchar_ci('phpbbUser') AS
objectClass,ldap_entries.dn AS dn FROM ldap_entries,phpbb_users WHERE
phpbb_users.user_id=ldap_entries.keyval AND ldap_entries.oc_map_id=?
AND 9=9 AND (varchar_ci(phpbb_users.username)='ZOOL'MAN')
Constructed query: SELECT DISTINCT
ldap_entries.id,phpbb_users.user_id,varchar_ci('phpbbUser') AS
objectClass,ldap_entries.dn AS dn FROM ldap_entries,phpbb_users WHERE
phpbb_users.user_id=ldap_entries.keyval AND ldap_entries.oc_map_id=?
AND 9=9 AND (varchar_ci(phpbb_users.username)='ZOOL'MAN')
id: '2'
backsql_oc_get_candidates(): error executing query
Return code: -1
   nativeErrCode=7 SQLengineState=S1000 msg="[unixODBC]ERROR:  syntax
error at or near "MAN" at character 271;

In this case query should be like
varchar_ci(phpbb_users.username)='ZOOL\'MAN' instead of 'ZOOL'MAN'

How to solve this issue? Thanks.