2010-09-09 111 views
0

我需要顯示此查詢的結果:查詢適用於MySQL,但在PHP中沒有,爲什麼?

SELECT * FROM projects WHERE PrestaCmd LIKE '% A - CREP - DPE - %' 

但在PHP中,該查詢不起作用:■

這是我的代碼:

$req = "SELECT * FROM ".$table." WHERE PrestaCmd LIKE '%".$ch."%'"; 

echo $req; //returns : SELECT * FROM jos_projectlog_projects WHERE PrestaCmd LIKE '% A - CREP - DPE - %' 

$results = mysql_query($req); 

while ($row = mysql_fetch_array($results, MYSQL_ASSOC)) { 
    print_r($row); 
} 

我覺得問題來自'$ ch'變量。 但是,當我把查詢的回聲,這是正確的,當我把這樣的查詢:

$req = "SELECT * FROM jos_projectlog_projects WHERE PrestaCmd LIKE '% A - CREP - DPE - %'"; 

echo $req; 
$results = mysql_query($req); 

while ($row = mysql_fetch_array($results, MYSQL_ASSOC)) { 
    print_r($row); 
} 

它的工作原理:■

+0

請出示呼應查詢。 – 2010-09-09 14:08:47

+0

你是什麼意思的「不起作用」? – RedFilter 2010-09-09 14:09:15

+0

請將'$ results = mysql_query($ req);'改爲'$ results = mysql_query($ req)或者死(mysql_error());'。如果它死了,你會在這裏發佈錯誤。 – Cfreak 2010-09-09 14:11:15

回答

1

@ Bahumat100,如果你認爲你有 以騰出空間這是造成問題,然後用html_entity_decode,做這樣的:

$req = "SELECT * FROM ".$table." WHERE PrestaCmd LIKE '%".html_entity_decode($ch)."%'"; 
+0

我只是不編碼它.... – 2010-09-09 14:38:32

+1

@Col。是的,我完全同意,但如果'$ ch'變量來自某處(某些其他函數/文件),那麼該變量不易更改。在這種情況下,這將是一個簡單的解決方案。 – shamittomar 2010-09-09 14:39:41

+0

不,html_entity_decode無效。 – bahamut100 2010-09-09 15:00:06

相關問題