duanqun7761 2012-06-21 23:33
浏览 183
已采纳

用php在sql中搜索带空格的字符串

I need to search a string in mysql with php. I get an error related to the spaces in the string. I an not fimilar with regex, I am not sure it that is my only choice. example:

$ex="This and That";

$sql = 'SELECT
some_ID
FROM ' . atable. ' WHERE ' . strings. ' LIKE ' . $ex. ' AND visable=' . '1';

after executing I get an error like:

"near 'That AND visable=1' at line x"

so its probably not picking up the first two words, any suggestions? Thanks in advance.

  • 写回答

1条回答 默认 最新

  • doushi7314 2012-06-21 23:36
    关注

    You are missing quotes around the string. They need to be encapsulated entirely for the query to execute properly.

    Change this:

    LIKE ' . $ex. ' AND
    

    To this:

    LIKE "' . $ex. '" AND
    

    On a side note, make sure you are protecting your self against SQL injections AND make sure your query is properly escaped.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?