2012-08-25 7 views
0

테이블에서 최대 ID를 얻기 위해 MySQL PHP 클래스를 사용하고 있습니다.배열에서 가치를 얻는 방법?

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

이제 max 아이디를 값으로 사용하고 1을 추가하고 싶습니다.

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

위의 코드는 작동하지 않습니다. 그 MySQL의 PHP 클래스 전에

([MAX(id)] => 5) 

내가 그런 식으로이 작업을 수행하는 데 사용 : 나는 $의 maxid에 print_r의 경우

나는 것을 얻을

$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; 
} 
+0

'$ maxid = $ rows [0] [ 'MAX (id)']'당신이 원하는 것입니다. – moonwave99

+0

다음 레코드의 ID를 직접 설정하지 말고 대신 데이터베이스에서 자동 증가 열을 사용하십시오. ID가 고유한지 확인하는 것은 _only_ 방법입니다. – Arjan

답변

0

최대 값을 정의 할 때의 별명을 사용해보십시오;

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

하고있는 최대 값을 검색 할 수 있어야한다 :

$rows[0]['max']; 

그래서 하나를 추가 :

이 약
$newId = $rows[0]['max']+1; 
+0

'print_r ($ rows [ 'max']);'아무것도 인쇄하지 않습니다. $ newId = 1 – Solver

+0

작동합니다. 고맙습니다 – Solver

0

사용이 코드 :

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

나는 그것이 도움이되기를 바랍니다)

0

무엇?

$sql="SELECT (MAX(id) + 1) AS max FROM `".TABLE_CUSTOMERS."`"; 
관련 문제