Mysqli 是否支持查询中的 MAX?
Does Mysqli support MAX in a query?
我想从 table 中获取最后一个日期。所以我可以显示最后添加或更改的项目:
$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'];
但我收到此错误消息:
Notice: Undefined index: changedate in /home/jcslnl/domains/jcsl.nl/public_html/michael/paginas/home.php on line 22
这是因为不再支持 MAX 了吗?还是我应该继续搜索错误?
也可能是我在table中做错了什么,我第一次使用时间戳i.s.o。 unix 时间戳。
聚合函数将在 mysql 中运行,与 sql 标准不同。要从 php 访问 MAX(changedate) 的值,您必须为其设置别名:像这样
Select
MAX(`changedate`) as cngdate
FROM
your_table
您必须为 MAX 函数的结果添加别名,
SELECT MAX(changedate) AS maxdate
FROM producten
你的问题的答案是是的,mysqli支持MAX。但是,您需要为该列添加别名,因为您实际上并未选择 列 changedate
,而是选择 changedate
值的函数的结果.在这种情况下 SELECT MAX(changedate) as changedate
会为您提供所需的结果。
您还可以使用 var_dump($up);
在结果中更清楚地看到这一点。
print_r($up)
为什么猜测是它被命名为不同的东西。所以只需在您的查询中命名它
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']
。
我想从 table 中获取最后一个日期。所以我可以显示最后添加或更改的项目:
$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'];
但我收到此错误消息:
Notice: Undefined index: changedate in /home/jcslnl/domains/jcsl.nl/public_html/michael/paginas/home.php on line 22
这是因为不再支持 MAX 了吗?还是我应该继续搜索错误?
也可能是我在table中做错了什么,我第一次使用时间戳i.s.o。 unix 时间戳。
聚合函数将在 mysql 中运行,与 sql 标准不同。要从 php 访问 MAX(changedate) 的值,您必须为其设置别名:像这样
Select
MAX(`changedate`) as cngdate
FROM
your_table
您必须为 MAX 函数的结果添加别名,
SELECT MAX(changedate) AS maxdate
FROM producten
你的问题的答案是是的,mysqli支持MAX。但是,您需要为该列添加别名,因为您实际上并未选择 列 changedate
,而是选择 changedate
值的函数的结果.在这种情况下 SELECT MAX(changedate) as changedate
会为您提供所需的结果。
您还可以使用 var_dump($up);
在结果中更清楚地看到这一点。
print_r($up)
为什么猜测是它被命名为不同的东西。所以只需在您的查询中命名它
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']
。