2014-05-22 2 views
0

결과 반환 단지 1 개 값

if (!empty($_POST)) { 

    $query = "SELECT userid FROM user WHERE email = :email"; 
    $query_params = array(':email' => $_POST['email']); 

    try { 
     $stmt = $db->prepare($query); 
     $result = $stmt->execute($query_params); 
    } 
    catch (PDOException $ex) { 
     $response["success"] = 0; 
     $response["message"] = "Database Error Get User ID!"; 
     die(json_encode($response)); 
    } 

    if (false !== ($user = $stmt->fetch())) 
    { 
     $userid = $user['userid']; 
    } 
    else { 
     $response["success"] = 0; 
     $response["message"] = "Why you come here!"; 
     die(json_encode($response)); 
    } 

내가 물어보고 싶은 조각 코드 때입니다 값이 변수에 SELECT 문에서 검색 설정하는 방법이 그 $row = $stmt->fetchAll(); 어떻게 할당하는 코드를 작성해야 후 php는 행 결과를 변수에 저장하지 않습니다.

답변

0

은 배열을 반환합니다. 그래서 $ row [ 'userid']는 설정되지 않습니다. $ row [0] [ 'userid']가됩니다.

Betterh 사용하는 것입니다 :

if (false !== ($user = $stmt->fetch())) 
{ 
    $userid = $user['userid']; 
} else 
{ 
    //user not found 
} 

이 코드가하는 일, 그것은 문 fromt 행을 인출하려고합니다. 행이없는 경우 ->fetch()은 부울 false을 반환합니다. false를 반환하지 않는 한 $user var에서 사용할 수있는 문이 있습니다.

+0

감사합니다. 저에게 도움이되었습니다. 그러나 귀하의 코드에 문법 오류가 있습니다. –

+0

내가 빠뜨린 ';' 편집 됨 – Pinoniq

+0

if 문이 잘못되었습니다.)')'012 === –

0
$userID = isset($row['userid']); 

$ row [ 'userid']가 설정되었는지, 즉 bool 값인지 확인하십시오.

단순히 배열이 비어 있는지 확인하거나 바로 값을 가져 오기 위해 충분하지 않습니다 :이되지 않은 경우, 귀하의 질문에 더 정확하게 될 수 있도록 할 필요가

if(!empty($row)) 
{ 
    $userId = $row['userid']; 
} 

를 무엇 ' 다시 묻습니다.

관련 문제