2012-06-21 63 views
0

我需要用php在mysql中搜索字符串。我收到與字符串中的空格有關的錯誤。我與正則表達式不是一回事,我不確定這是否是我唯一的選擇。 例如:在php中用空格搜索字符串用php

$ex="This and That"; 

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

執行後,我得到一個錯誤,如:

「在X附近 '那和visable = 1'」 所以它可能不拾取前兩個字,有什麼建議? 在此先感謝。

+0

**在你問這裏問題之前,總是**用'echo $ sql;'輸出你的查詢 - 在90%你可以自己解決你的問題 – zerkms

+0

mysql_real_escape_string()'在哪裏?保護自己免受SQL注入攻擊,比網站遭受黑客攻擊要便宜得多。 http://www.php.net/mysql_real_escape_string – Jasper

+0

@Jasper:OP今天已經達到了'mysql_real_escape_strig()'的上限 – zerkms

回答

2

您正在查找字符串周圍的引號。它們需要完全封裝以便查詢正確執行。

更改此:

LIKE ' . $ex. ' AND 

要這樣:

LIKE "' . $ex. '" AND 

在一個側面說明,確保你保護你自己對SQL注入,並確保您的查詢是正確轉義。

相關問題