MySQL,PHP帮助想要

时间:2011-06-20 13:24:55

标签: php mysql

我是MySQL的初学者。我有这个简单的表达式,我需要过滤。

$a = "2";    
$s1 = sprintf("%s,",$a)."%";
$s2 = "%".sprintf(",%s,",$a)."%";
$s3 = "%".sprintf(",%s",$a);


$res = mysql_query("SELECT busno FROM busroute WHERE route LIKE '$s1' OR route LIKE '$s2' OR route LIKE '$s3' ");
// This basically searches for "2," OR ",2," OR ",2" in route.

如果我在MySQL浏览器中使用完全相同的表达式,我会得到我的结果。但它只是在PHP中返回null。  救命!我知道我错过了一些东西,但无法弄清楚是什么。

2 个答案:

答案 0 :(得分:4)

mysql_query's documentation说:

  

对于返回结果集的SELECT,SHOW,DESCRIBE,EXPLAIN和其他语句, mysql_query()会在成功时返回resource,或 FALSE 出错了。

您还必须检索结果:

while(($row = mysql_fetch_array($res))) {
    print_r($row);
}

有关更多示例和信息,请查看documentation

<强>更新

因为这解决了问题:使用mysql_error查找查询问题。

答案 1 :(得分:0)

如果这不仅仅是一个错字,请看一下这个位:s2'。它应该是'$s2'。此外,PHP应该没有这个字符串。看一下表格中的数据。