1

PHOコードでMAX集計関数を使用できません。私がやろうとしているのは、データベースから最も高いuser_idを選択することです。ただし、「警告:mysql_result()[function.mysql-result]:image_idがMySQL結果インデックス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

次の 2 つの選択肢があります。

  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 に答える