2013-10-03 2 views
-2

저는 정말 이상한 문제가 있습니다. 내 코드 :PHP 비교 연산자가 예상대로 작동하지 않습니다.

$sql = "SELECT emailIsConfirmed FROM userdatabase.user where username = '".mysqli_real_escape_string($db, $username) ."'"; 
    $result = mysqli_query($db, $sql); 
    var_dump(mysqli_fetch_array($result)[0]); 
    var_dump("1"); 
    if((mysqli_fetch_array($result)[0]) == "1") 
    { 
     return true; 
    } 
    return false; 

이 작동하지 않습니다. 출력은 다음과 같습니다 경우에도 :

string(1) "1" 
string(1) "1" 

결과가 거짓 ... 왜?

나는 정말 어리석은 실수라고 생각합니다. 도움을 주셔서 감사합니다

+0

을 디버깅 할 않는

두 번 반드시 한 번 호출하고 두 번 반환 값을 사용하는 것과 동일하지 않습니다 var_dump() 호출을 제거합니다. 아주 기본적인 실수. – deceze

답변

2

mysqli_fetch_array 두 번째 시도는 결과의 두 번째 행을 가져 오려고합니다. var_dump 님의 댓글을 달아주세요.

+0

jaaaaa : D dankeschön – user2841991

0

결과는 다음에서 제공 :

var_dump(mysqli_fetch_array($result)[0]); 
var_dump("1"); 

if((mysqli_fetch_array($result)[0]) == "1")이 참되다는 것을 의미합니다. 당신이 함수를 호출하여 데이터베이스 결과

+0

멋진 시원한 대명원 : D – user2841991

관련 문제