1

在我的 PHO 代码中使用 MAX 聚合函数时遇到问题。我要做的是从我的数据库中选择最高的 user_id。但是,我收到一条错误消息,上面写着“警告:mysql_result() [function.mysql-result]: image_id not found in MySQL result index 3”如果有人能告诉我我的代码做错了什么,将不胜感激!

$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 ...

4

1 回答 1

0

你有两个选择:

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

  2. 使用偏移量 -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
}
于 2012-12-04T01:18:30.957 回答