0

我正在使用 MySQL PHP 类从表中获取最大 id。

$sql="SELECT MAX(id) FROM `".TABLE_CUSTOMERS."`";
$rows = $db->fetch_array($sql);

现在我想使用那个最大 id 作为值并给它加 1。

$maxid=rows[0];
$newid=maxid+1;

上面的代码不起作用。

如果我在 $maxid 上执行 print_r,我会得到:

( [MAX(id)] => 5 )

在那个 MySQL PHP Class 之前,我曾经这样做过:

$MaxID = mysql_query("SELECT MAX(face_id) FROM `".$DBprefix."faces`");
$MaxID = mysql_fetch_array($MaxID, MYSQL_BOTH);
$MaxID = $MaxID[0];
$newid=$MaxID+1;

这没有问题

这是 fetch_array 函数:

public function fetch_array($sql){
 $query_id = $this->query($sql);
 $out = array();

 while ($row = $this->fetch($query_id)){
  $out[] = $row;
 }

 $this->free_result($query_id);
 return $out;
}
4

3 回答 3

0

使用此代码:

$maxid=$rows['MAX(id)'];
$newid=$maxid+1;

我希望它有帮助;)

于 2012-08-25T20:01:57.403 回答
0

尝试使用别名来定义最大值;

$sql="SELECT MAX(id) as `max` FROM `".TABLE_CUSTOMERS."`";

并且您应该能够在以下位置检索最大值:

$rows[0]['max'];

所以加1:

$newId = $rows[0]['max']+1;
于 2012-08-25T20:04:28.743 回答
0

那这个呢?

$sql="SELECT (MAX(id) + 1) AS max FROM `".TABLE_CUSTOMERS."`";
于 2012-08-25T20:35:06.980 回答