2014-02-11 2 views
-1

나는 배열을 생성하고 데이터베이스의 마지막 두 행을 기준으로 두 개의 정수를 추가하는 다음 함수를 작업 중이다.PHP 함수가 데이터베이스의 값으로 배열을 업데이트하지 않습니까?

function featuredUsers(){ 
    $users = array(); 
    $query = mysql_query("SELECT * FROM `featured_users` ORDER BY unique DESC LIMIT 2"); 
    while ($row = mysql_fetch_assoc($query)) { 
     array_push($users, $row["uid"]); 
    } 

    return $users; 
    } 

는 "고유은"각 행을 고유하게 식별하고, "UID는"우리가 배열에 추가하려는 사용자 ID를 포함합니다. 그러나, 배열은 비어 있고 콘솔은 "mysql_fetch_assoc()이 매개 변수 1이 resource, boolean ..."이 될 것을 기대하는 것 외에 에러를 반환하지 않습니다. 우리 코드의 다른 함수는 리소스를 첫 번째 매개 변수로 사용하지 않습니다.

간과 한 간단한 오류가 있습니까?

+0

는 mysql_query()는 그 성공에 리소스를 반환, 성공 TRUE 또는 잘못된 Nouphal.M @ 오류 –

+0

에 FALSE를 반환합니다. 그렇지 않으면 어떻게 U 루프가 사실이 될 수 있습니다 !! Austine Berke, Pls는 새로운 PHP에서는 더 이상 사용되지 않으므로 mysql_query를 사용하지 않습니다. 그리고 pls이 http://my1.php.net/mysql_query를 읽습니다. 함수는 FALSE를 리턴하고, $ query를 디버그하려고 했습니까? – MJoraid

+0

예 선택문의 경우에 맞습니다. –

답변

0

ORDER BY 다음에 참조 열을 입력하지 않았을 수 있습니다. 내 이해 (당신이 잘못 수 있다면) ORDER BY 뒤에있다, 당신은 추천 열에 따라해야합니다. 내가 UNIQUE 구문에 익숙하지 않기 때문에이 구문에 대한 자세한 정보를 보내 주시면 감사하겠습니다.

행운을 빈다.

+0

'고유'는 정렬 기준으로 사용하려는 열의 이름입니다. –

+0

글쎄, 당신의 코드에서'unique' 컬럼이 따옴표로 둘러싸여 있지 않음을 알 수 있습니다. 그것을 '독특한'것으로 바꾸려고 했습니까? – irvana

0

나는 당신이 틀린 방식으로하고 있다고 생각합니다. 이 시도.

function featuredUsers(){ 
    $users = array(); 
    $query = mysql_query("SELECT distinct(uid) FROM `featured_users` ORDER BY uid DESC LIMIT 2"); 
    while ($row = mysql_fetch_assoc($query)) { 
     array_push($users, $row["uid"]); 
    } 

    return $users; 
    } 
관련 문제