2013-10-03 4 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

Вызов функции дважды не обязательно то же самое, называя его один раз и использовать возвращаемое значение дважды. Очень простая ошибка. – deceze

ответ

2

mysqli_fetch_array, вызванный второй раз, пытается получить вторую строку результатов. Комментарий var_dump s и он должен работать.

+0

jaaaaa: D dankeschön – user2841991

0

В результате происходит от них:

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

Это означает, что if((mysqli_fetch_array($result)[0]) == "1") верно.

Удалить var_dump() вызов, если вы не хотите, чтобы отладить результат базы данных

+0

sehr cool danke es geht alles wieder: D – user2841991

Смежные вопросы