2012-11-02 2 views
0
if ($resultdetails == FALSE) { 
    $querynewid = "select * from customer_det order by ID desc limit 1"; 
    $resultnewid = mysql_query($querynewid); 
    while ($row=mysql_fetch_row($resultnewid)) { 
     $uid = $row['id']; 
     echo $uid; 
    } 
} 

유효한 중첩 선언문입니까? 그것은 어떤 이유로 $ UID를 반향하지 않을 것인가?MySQL 중첩 된 선언문

+0

첫 번째 단계 : 'var_dump'로 'echo'를 교환하십시오. 또한, 'var_dump'$ 행. 이유 : 귀하의 검색어가 어떤 이유로 든 실패하거나 가장 간단하게 찾을 수없는 경우입니다. 코드 자체가 유효합니다. – ATaylor

+0

@ATaylor Thanks buddy – smada

+0

$ resultnewid가 'NULL'(var_dump로 확인)과 같으면 쿼리에 오류가있는 것입니다. 이 경우 echo mysql_error. 이것은 무엇이 잘못되었는지에 대한 힌트를 줄 것입니다. – ATaylor

답변

1

mysql_fetch_row 대신 mysql_fetch_assoc을 사용해야합니다. 마지막 하나는 숫자 인덱스 배열을 반환하므로 id은 그 결과 집합의 키가 아닙니다. mysql_fetch_assoc은 연관 배열을 반환하므로 필드 이름도 키 이름입니다. 코드의 모양으로, 그것은 당신이 원하는 것입니다.

차이점 herehere을 참조하십시오. 나는 보통 PHP에서이를 처리하는 방법

+0

멋진 @Oldskool,이 ID를 완벽하게 뽑았습니다. – smada

+0

내 잘못, 나는 그가 fetch_assoc 대신에 fetch_row를 사용하는 것을 완전히 보지 못했습니다. – ATaylor

1

은 다음과 같습니다 :

if ($resultdetails == FALSE) { 
    $querynewid = mysqli_query($dbc,"select * from customer_det order by ID desc limit 1";) or die (mysql_error()); 

    while ($row = mysqli_fetch_array($querynewid)) { 
     $uid = $row['id']; 
     echo $uid; 
    } 
} 

알 수있는 몇 가지는 $ DBC 내 데이터베이스 연결입니다 및 mysql_error를 그 쿼리 자체가인지 알려 것 깨진

+0

죄송합니다. $ row = mysqli_fetch_array ($ resultnewid)는 $ row = mysqli_fetch_array ($ querynewid) 여야합니다. – Alex

+1

대신 답변을 편집하여 포함하십시오. – Oldskool