MAX()MYSQL调用问题

时间:2012-12-04 01:13:44

标签: php mysql aggregate-functions max

我在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 ...

1 个答案:

答案 0 :(得分:0)

您有两种选择:

  1. 使用别名 - SELECT MAX(image_id) AS image_id FROM image_table ...

  2. 使用偏移量 - mysql_result($result2, $j, 0)

  3. 另外,我建议切换到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
    }