我在PHO代码中使用MAX聚合函数时遇到问题。我想做的是从数据库中选择最高的user_id。但是,我得到一个错误,指出“警告:mysql_result()[function.mysql-result]:在MySQL结果索引3中找不到image_id”如果有人可以告诉我我的代码有什么问题,将不胜感激。 !

$highest = "Select MAX(image_id) FROM image_table ";
$result2 = mysql_query ($highest);
if (!$result2) die ("Database acces failed: " . mysql_error ());
$rows2 = mysql_num_rows($result2);
for ($j=0; $j<$rows2; $j++)
    {
      echo 'highest image id: ' . mysql_result($result2, $j,'image_id') . '<br/>';
    }


另外,有没有一种方法可以直接将变量设置为等于最高ID。举例来说,我希望变量$ maxID等于当前的最大id,即93 ...

最佳答案

您有两种选择:


使用别名-SELECT MAX(image_id) AS image_id FROM image_table ...
使用偏移量-mysql_result($result2, $j, 0)


另外,我建议切换到PDO。这是一个例子:

$db = new PDO( ... );
$res = $db->query('SELECT MAX(image_id) FROM image_table');
if (false === ($maxId = current($res->fetchAll(PDO::FETCH_COLUMN, 0)))) {
    // $maxId is definitely a number
}

10-07 12:36