【发布时间】:2015-12-08 12:25:56
【问题描述】:
我是 PHP 新手。我有一张桌子,有两列 Car 和 Age,有重复的车名。我正在计算 Car 列,它们具有相同的年龄并显示为名为 Count 的新列。
从 HTML 我将 Age 列解析为
$userinput = $_POST['Age'];
我只想使用 $userinput 从表中检索 Age 列,并计算对应于相同年龄的 same 汽车的数量。
我尝试过这样的编码
$result = mysql_query("SELECT *,`Age`,COUNT(Age) As Age_count FROM `table` GROUP BY `Car`,`Age` HAVING (COUNT(Age)>=1) ORDER BY `Car` DESC") or die(mysql_error());
它可以按我的意愿正确完成工作,但是当我在 SELECT 查询中使用“*”时,它会显示整个数据库。我无法在此查询中包含“$ userinput”,我可以得到用户输入的年龄结果。我无法将WHERE 子句放入查询中,因为它显示错误。
如果我有任何错误,请纠正我。谢谢。
问候, 阿图尔
【问题讨论】:
-
你应该分享错误信息。
-
检查group by sintaxis 看看如何使用where
-
STOP 使用已弃用的
mysql_*API。将mysqli_*或PDO与准备好的语句一起使用 -
正如@Jens 所说,不要再使用 mysql,因为它已被弃用,将在 PHP 7.0 中删除