2011-06-18 36 views
0

我一直在試圖讓一個搜索引擎對我的數據庫,但沒有運氣如何搜索列在PHP和AJAX

什麼,我試圖做的是搜索數據庫中超過一列,

我試圖$select = "SELECT * FROM letter_cast WHERE name LIKE '%".$_GET['content']."%' AND title LIKE '%".$_GET['content']."%'";

,但沒有運氣,我想有一些在整個腳本不同,這裏是腳本(我從here下載吧)

// You can do anything with the data. Just think of the possibilities! 
include('conn.php'); 

$strlen = strlen($_GET['content']); 
$display_count = $_GET['count']; 
$select = "SELECT * FROM letter_cast WHERE name LIKE '%".$_GET['content']."%' AND title LIKE '%".$_GET['content']."%'"; 
$res = mysql_query($select); 
$rec_count = mysql_num_rows($res); 
if($display_count) 
{ 
    echo "There are <font color='red' size='3'>".$rec_count."</font> matching records found.Click Search to view result."; 
} 
+2

AAARRRGGHHH !!!逃避你的查詢!如果最近關於網站遭到黑客攻擊的報道應該教會開發人員應該如何逃避查詢中的每個變量。要麼使用PDO,要麼在變量上打一些'mysql_real_escape_string'。 – Endophage

+0

@Mohammed:您確定您的搜索關鍵字必須存在於「名稱」和「標題」列中嗎?如果不是,你應該使用OR而不是AND,我希望你會看到你想要的結果。 – Abhay

+0

閱讀,如何清理查詢:http://stackoverflow.com/questions/6198104/reference-what-is-a-perfect-code-sample-using-the-mysql-extension/6198584#6198584 –

回答

1

除了腳本完全不安全之外,AND邏輯會限制您的查詢,如果您有某些列,則需要使用OR。

+0

謝謝!你怎麼這麼聰明!但是對我來說沒有意義,當我用「AND」它沒有用,但是當我用「OR」時它工作正常! –