I’m newby in ruby on rails, I have search textbox then everytime I type an apotraphe (‘) e.g testing’ word ….. I always recieved error:
Mysql2::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 's word%' OR english_name LIKE '%testing's word%' OR chinese_name LIKE '%testin' at line 1: SELECT COUNT(DISTINCT `jos_store`.`id`) FROM `jos_store` LEFT OUTER JOIN (SELECT id as store_replenishment, store, MAX(stock_movement) AS stock_movement FROM jos_store_replenishment GROUP BY store) AS replenishment ON replenishment.store = jos_store.id LEFT OUTER JOIN jos_stock_movement ON jos_stock_movement.id = replenishment.stock_movement WHERE (store_id LIKE '%testing's word%' OR english_name LIKE '%testing's word%' OR chinese_name LIKE '%testing's word%')
can you help me with my problem.
Try escaping your apostrophe, eg english_name LIKE ‘%testing\’s word%’
if you’re using ‘%PHRASE%’ and there’s another ‘ inside %PHRASE%, it thinks you’ve ended the like clause and gives you an error – if you escape with the escape character, eg \’, it should work: so with your error phrase, something like:
Notice I’ve used ‘%testing\’s word%’ to ensure it doesn’t think the second apostrophe ends the LIKE clause