2014-03-19 99 views
1

當我開始從數據庫中我有一個問題,當存在於字 撇號,我用和addslashes,mysql_real_escape_strin搜索記錄,但沒有奏效對於MySQL的LIKE查詢不工作了撇號搜索記錄

<?php 
    include("lib/dbconn.php"); 
    $list_query_main1="select * from table where name like '%".mysql_real_escape_string($_REQUEST['keyword'])."%'"; 
    $list=mysql_query($list_query_main1); 
    echo mysql_num_rows($list); 
?> 

找到0個結果,但數據庫中存在名稱給我解決方案。

+0

能否請你回聲'$ list_query_main1'並張貼結果 – Rossco

+0

SELECT * FROM表,其中名稱,如「%貝克\」 S%」 – webtest

回答

0

$list=mysql_query($list_query_main1);後添加if(!$list || mysql_errno() != 0) echo mysql_error();會給你在查詢失敗

的情況下,一些信息,否則myqsl_ *已被棄用,你應該開始使用mysqli_ *功能。

,改變你的最後一行

echo $mysql_num_rows($list); 

,如果你想打電話給myqsl_num_rows與

echo mysql_num_rows($list); 

取代它()函數

1

你得到MySQL錯誤

#1064 - 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 'table' at line 1 

因爲TABLE是保留字。如果您命名的表樣表,您必須使用權MySQL的句法

$list_query_main1="select * from `table` where `name` like '%".mysql_real_escape_string($_REQUEST['keyword'])."%'"; 
+0

不加工.... – webtest