0

テーブルから最大IDを取得するためにMySQL PHPクラスを使用しています。

$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クラスの前に、私はこれを次のように行っていました:

$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) + 1) AS max FROM `".TABLE_CUSTOMERS."`";
于 2012-08-25T20:35:06.980 に答える
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 に答える