2010-09-09 113 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

相关问题