首页 > 解决方案 > Read a single value from MySQL MAX() statement with php

问题描述

I want to read out the highest number of a column in my table. I try to do it with MAX() like this:

$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();

I tryed it with fetch_assoc(); aswell, but I don´t get any value into my php-variable.

EDIT:

$row = $conv_highest->fetch_assoc();
echo $row['msgconv'];

Sadly that doesn´t work either. Can somebody help me please?

标签: phpmysql

解决方案


你的编辑让你大部分时间都在那里。它不起作用的原因是表中的字段没有被调用msgconv;您已MAX(msgconv)在查询中选择,因此$row您要查找的值为$row['MAX(msgconv)']. 所以你有几个选择,你可以

$row = $conv_highest->fetch_assoc();
echo $row['MAX(msgconv)'];

或者您可以将查询更改为:

$stmt = $conn->prepare("SELECT MAX(msgconv) AS msgconv FROM msg");
// ...
$row = $conv_highest->fetch_assoc();
echo $row['msgconv'];

或者您可以保留查询并获取一个数字数组,例如

$row = $conv_highest->fetch_row();
echo $row[0];

推荐阅读