我想读出表中列的最大值。我试着用max()这样做:
$stmt = $conn->prepare("SELECT MAX(msgconv) FROM msg");
if ( false===$stmt ) {
die('prepare() failed: ' . htmlspecialchars($conn->error));
}
$stmt->execute();
$conv_highest = $stmt->get_result();
echo $conv_highest;
$stmt->close();
我试过了 fetch_assoc();
我也是,但我不知道´我的php变量中没有任何值。
编辑:
$row = $conv_highest->fetch_assoc();
echo $row['msgconv'];
可悲的是,那没有´也不行。有人能帮帮我吗?
2条答案
按热度按时间rks48beu1#
你的编辑已经把你带到了那里。它不起作用的原因是没有调用表中的字段
msgconv
; 您已选择MAX(msgconv)
在您的查询中$row
你要找的是$row['MAX(msgconv)']
. 所以你有一些选择,你可以或者您可以将查询更改为:
或者您可以保持查询的原样并获取一个数字数组,例如。
yrdbyhpb2#
通常在php中,你不能回显一个对象或数组,方法get\u result会返回一个结果集,因此你必须迭代或打开对象并获取其中的值。有关详细信息,请参阅此链接。试着把$conv\u最高放在一个print\r中,它可以帮助你查看对象的内部,例如print\r($conv\u最高)。解决方案可能是这样的