我正在尝试按照这个分页教程http://www.phpfreaks.com/tutorial/basic-pagination添加分页到我构建的搜索页面。教程中的以下一行:
$sql = "SELECT COUNT(*) FROM numbers";
我需要根据匹配用户输入数据的行进行计数,这些数据是从小表单中提取的。这是我在尝试添加分页之前运行的工作查询
$raw_results = mysql_query("SELECT * FROM Pictures WHERE (`RimWidth` LIKE '%".$RimWidth."%') AND (`TyreWidth` LIKE '%".$TyreWidth."%') AND (`Aspect` LIKE '%".$Aspect."%') AND (`TyreDia` LIKE '%".$TyreDia."%') AND (`TyreMan` LIKE '%".$TyreMan."%')") or die(mysql_error());
我不确定如何添加它。我试过这个:
$sql = mysql_query("SELECT COUNT FROM Pictures WHERE (`RimWidth` LIKE '%".$RimWidth."%') AND (`TyreWidth` LIKE '%".$TyreWidth."%') AND (`Aspect` LIKE '%".$Aspect."%') AND (`TyreDia` LIKE '%".$TyreDia."%') AND (`TyreMan` LIKE '%".$TyreMan."%')") or die(mysql_error());
但它只是出错了。
我如何格式化查询?
答案 0 :(得分:0)
COUNT(*)
- 跳过了重要的事情。
基本上,如果您的查询有效,但是您需要获取计数而不是实际数据,那么您应该使用COUNT(*)
还有一件事。您上一个代码行的结果不是字符串本身。它是可用于获取所需计数的资源。
答案 1 :(得分:0)
您使用 COUNT
而非 COUNT(expression)
收到错误,所以你必须更改你的查询,以便你使用 SELECT COUNT(*)
,就像你给出的第一个例子一样。
编辑这就是你如何得到确切数:
$query = "SELECT COUNT(*) FROM Pictures WHERE (`RimWidth` LIKE '%".$RimWidth."%') AND (`TyreWidth` LIKE '%".$TyreWidth."%') AND (`Aspect` LIKE '%".$Aspect."%') AND (`TyreDia` LIKE '%".$TyreDia."%') AND (`TyreMan` LIKE '%".$TyreMan."%')";
$result = mysql_query($query) or die(mysql_error());
$count = mysql_fetch_row($result);