We make extensive use of full text searches, but have run into some problems
with backslashes.  If a word like "somebody's" is entered into our database,
we escape the string using "mysql_escapes_string" in php.  So,
mysql_escape_string("somebody's") becomes "somebody\'s" when it is saved in
the database.  The problem is, we don't seem to be able to match against
this in the database.

Let's say we saved "somebody's" in the data base.  The following will match
fine and pull up the results expected...

SELECT * FROM Table WHERE MATCH (Field) AGAINST ("somebody's")

... But if "somebody\'s" is stored in the database, there seems to be no way
to match the "\".  We've tried all of the following...

SELECT * FROM Table WHERE MATCH (Field) AGAINST ("somebody's")
SELECT * FROM Table WHERE MATCH (Field) AGAINST ('somebody's')
SELECT * FROM Table WHERE MATCH (Field) AGAINST ('"somebody's"')
SELECT * FROM Table WHERE MATCH (Field) AGAINST ("somebody\'s")
SELECT * FROM Table WHERE MATCH (Field) AGAINST ('somebody\'s')
SELECT * FROM Table WHERE MATCH (Field) AGAINST ("somebody\\\'s")
SELECT * FROM Table WHERE MATCH (Field) AGAINST ('somebody\\\'s')
SELECT * FROM Table WHERE MATCH (Field) AGAINST ('"somebody\'s"')
SELECT * FROM Table WHERE MATCH (Field) AGAINST ('"somebody\\\'s"')

... Any ideas?


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to