Mysqli在查询中是否支持MAX?
我想从表格中获取最后一个日期。因此,我可以显示最近添加或更改项目:Mysqli在查询中是否支持MAX?
$qry = "
Select
MAX(changedate)
FROM
producten
";
$stmt = $connection->prepare($qry);
$stmt->error;
$stmt->execute();
$result = $stmt->get_result();
$up = $result->fetch_assoc();
$stmt->close();
$main .='Last update '.$up['changedate'];
但我收到此错误信息:在/home/jcslnl/domains/jcsl.nl/public_html CHANGEDATE:
注意:未定义指数/michael/paginas/home.php on line 22
这是因为MAX不再支持?还是应该继续搜索错误?
也可能是我在表格中做了错误,这是我第一次使用时间戳i.s.o. unix时间戳。
答案你的问题是是的,mysqli支持MAX。但是,您需要别名该列,因为您实际上并未选择列changedate
,而是选择值changedate
的函数的结果。在这种情况下,SELECT MAX(changedate) as changedate
可为您提供所需的结果。
您还可以使用var_dump($up);
在结果中更清楚地看到这一点。
聚合函数将在mysql中工作,与sql标准不同。访问从PHP MAX(CHANGEDATE)的值,你有别名它:这样
Select
MAX(`changedate`) as cngdate
FROM
your_table
您必须添加一个别名MAX函数的结果,
SELECT MAX(changedate) AS maxdate
FROM producten
的print_r($高达)
为什么猜测是,它被命名为不同的东西。所以只需在您的查询中命名
Select max(changedate) as maxdate
然后在您的输出中使用$ up ['maxdate']。
在执行语句后添加$stmt->bind_result($changedate);
。即
$qry = "
Select
MAX(changedate)
FROM
producten
";
$stmt = $connection->prepare($qry);
$stmt->error;
$stmt->execute();
$stmt->bind_result($changedate);
$stmt->close();
$main .='Last update '.$changedate;
列结果实际上将MAX(changedate)
,即$up['MAX(changedate)']
。
然而,以使其更具可读性,你应该使用别名为您选择
Select
MAX(changedate) as changedate
FROM
producten
,并使用相同$up['changedate']
。