2014-04-21 5 views
-1

사용자 수준을 쿼리하려고하는데, int을 반환 할 수 없습니다. 나는 결과를 에코 때 즉, "1"PHP에서의 SQL 쿼리가 예상 결과를 반환하지 않습니다.

function lvl_chcek($username) 
{ 
    $db = new mysqli('localhost', 'root', 'root', 'idoctor_db'); 

    $lvl = $db->query(' 
    SELECT Level 
    FROM users 
    WHERE Login = "'.$username.'" 
    '); 

    echo $lvl->fetch_object()->Level; 

    return $lvl->fetch_object()->Level; 

} 

가 나는 또한이 시도하지만 난 당신이 쿼리해야 mysqli doc에 따라

function lvl_chcek($username) 
{ 
    $db = new mysqli('localhost', 'root', 'root', 'idoctor_db'); 

    $query = $db->query(' 
    SELECT Level 
    FROM users 
    WHERE Login = "'.$username.'" 
    '); 
    $result = mysql_query($query); 
    $array = mysql_fetch_assoc($result); 
    $lvl = $array['Level']; 

    echo $lvl; 

    return $lvl; 
} 
+7

첫 번째 예에서는 '$ lvl'이 (가) 마술처럼 나타납니다. –

+1

'fetch_object '를 호출 할 때마다 한 행을 가져옵니다. 처음 전화를 걸면 두 번째로 다른 결과를 반환합니다. 두 번째 코드에서는 mysql과 mysqli 함수를 혼합한다. – deceze

답변

0

NULL를 얻을 수있다 제공하기 때문에 아무 생각이 왜 그 후에 결과를 가져와야합니다.

function lvl_chcek($username) 
{ 
    $db = new mysqli('localhost', 'root', 'root', 'idoctor_db'); 

    $query = $db->query(' 
    SELECT Level 
    FROM users 
    WHERE Login = "'.$username.'" 
    LIMIT 1'); 

    $obj = $query->fetch_object(); 
    return $obj->Level; 

} 

는 사용자 레벨을 반환해야합니다 :

이 시도.

관련 문제