2012-09-15 7 views
6

에서 아무것도 반환하지 않는이 테이블 구조 -SELECT MAX (... PHP/MYSQL

Table: test 

+------+---------+ 
| PAGE | CONTENT | 
+------+---------+ 
| 1 | ABC | 
+------+---------+ 
| 2 | DEF | 
+------+---------+ 
| 3 | GHI | 
+------+---------+ 

PAGE이 데이터 타입 INT(11)있는 차입니다. 그것은하지 않습니다 자동 증가. CONTENT는 데이터 유형 TEXT이다 . PHP에서

나는

$result = mysql_query(SELECT MAX(PAGE) FROM test); 
$row = mysql_fetch_array($result); 
echo $row["PAGE"]; 

없음 출력을, 뭐하고. 전혀. 나는 echo "Value : ".$row["PAGE"]; 그런 짓을하면 내가 보는 모두는입니다

검색어 SELECT * FROM test은 제대로 작동합니다. MAX() 구문을 사용하여 어딘가 잘못 되었습니까?

아직 최대 값 PAGE을 반환하고 싶습니다.

+4

모든 것이 괜찮습니다. 사용 하시겠습니까? 대신'PAGE FROM test'로 SELECT MAX (PAGE)를 쿼리하고 그 차이가 있는지 확인 하시겠습니까? – InSane

+0

고마워. 그것은 작동합니다. 오랫동안 이것으로 고생했습니다. –

+3

고대의 mysql_ * 함수로 새로운 코드 작성을 중단하십시오. 그들은 더 이상 유지되지 않으며 커뮤니티는 [비추천 프로세스]를 시작했습니다 (http://news.php.net/php.internals/53799). 대신 준비된 구문을 배우고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/mysqli)를 사용해야합니다. 만약 당신이 배울 점이 있다면, 여기 [PDO 관련 튜토리얼] (http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers). – DCoder

답변

8

이것은 코드 여야합니다.

$result = mysql_query("SELECT MAX(PAGE) AS max_page FROM test"); 
$row = mysql_fetch_array($result); 
echo $row["max_page"]; 
1

mysql_query에서 해당 검색어에 따옴표를 사용해서는 안됩니까? 필자는 PHP가 구문 적으로 부적절한 구문으로 어떤 일을 할 것인지 전혀 모릅니다. 나는 그것이 당신에게 오류를 줄 것이라고 생각했을 것입니다.

어쨌든 집계 함수는 메모리에 사용 된 열과 다른 열 이름을 가질 수 있습니다 (DB2는 함수에 비슷한 이름을 부여합니다 (예 : max_page_ 또는 무언가).

$result = mysql_query("SELECT MAX(PAGE) AS MAXPAGE FROM TEST"); 
$row = mysql_fetch_array($result); 
echo $row["MAXPAGE"]; 
+0

나는 그저 잘못 입력 한 것이 아니라 오류가 발생하기 때문에 오타를 잘못 입력했다고 생각합니다. – FluffyJack

0
$connect = mysqli_connect("localhost", "root", "", "carBid") or die("not connected"); 

//connection to database 
$sql2 = "SELECT max(mybid) FROM `bid`"; 

//simle select statement with max function 
$result_set2 = mysqli_query($connect,$sql2); 

//query a result fetch 
if ($result_set2) { 
    $rowB = mysqli_fetch_array($result_set2); 
    //feching a result in array format 
    echo $rowB['max(mybid)']; 
    //accessing array by name of column with max() function of mysql 
} else { 
    echo 'No Current Bid'; 
} 
mysqli_close($connect); 
+0

"{"너무 많거나 적습니다. – Cleb

+0

그냥 잠깐. mysql_query와 mysql_fetch_array는 더 이상 사용되지 않는다. –

+0

이 코드는 질문에 대답 할 수 있지만 문제가 어떻게 해결되고 왜 사용되는지 설명하는 것이 좋습니다. 코드 전용 답변은 장기적으로 유용하지 않습니다. –

-1

코드 아래에보십시오 $con=new mysqli($server,$user,$password,$db_name);page2_content_data 내 테이블입니다

$result = mysqli_query($con,"SELECT max(page2_content_id) AS max_page from page2_content_data"); 
$row = mysqli_fetch_array($result); 
echo $row["max_page"]; 

과 : 당신은 같은 뭔가 이름을 강제로 올바른 열 이름이 확인 할 수 있습니다 page2_content_id은 열 이름입니다.

+0

사용자는 여러 가지 방법으로 답변을 주문할 수 있으므로 * 위의 "대답 및 그 아래"*는 거의 의미가 없습니다. – trincot