我在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 ...
答案 0 :(得分:0)
您有两种选择:
使用别名 - 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
}