2014-09-12 36 views
1

聲明我有mysql非常正常的LIKE語句Mysql的像列表的特殊字符無法搜索

$wpdb->posts.post_title LIKE \"%$s%\" 

表列數據是「DY帕蒂爾」(不帶引號)

當我搜索文本「dy patil」是不是在列表中?

爲什麼這個圓點弄得一團糟,我該怎麼做才能讓它變得更好?

感謝

+2

瓦你期望它匹配嗎?除了模式中的'%'和'_'通配符以外,'LIKE'要求所有內容完全匹配。 – Barmar 2014-09-12 20:07:09

+0

'like'%...%''是braindead SIMPLE子串搜索。它不能處理像'd.y' v.s. 'dy'。 – 2014-09-12 20:07:16

+0

我想要如果表中有任何特殊字符,它應該忽略它,並在沒有它的情況下搜索。@ Barmar – 2014-09-12 20:10:40

回答

1

我得到了我的解決方案,通過使用MySQL的聲明replace

這裏是我的解決方案

SELECT * FROM表WHERE替換($ wpdb-> posts.post_title, '' '', '') 如\ 「%$ S%\」

由於後

MySQL selecting string with special characters