我是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。 救命!我知道我错过了一些东西,但无法弄清楚是什么。
答案 0 :(得分:4)
对于返回结果集的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应该没有这个字符串。看一下表格中的数据。