복붙노트

mysqli_fetch_array ()는 매개 변수 1이 mysqli_result, boolean이 [duplicate]

PHP

mysqli_fetch_array ()는 매개 변수 1이 mysqli_result, boolean이 [duplicate]

페이스 북 User_id가 내 데이터베이스에 이미 존재하는지 확인하는 데 문제가 있습니다 (그렇지 않은 경우 사용자를 새 것으로 받아 들여야하고 그렇지 않으면 캔버스 애플리케이션을로드해야합니다). 내 호스팅 서버에서 실행하고 거기에 아무 문제가 있었지만 내 localhost에서 다음과 같은 오류가 발생합니다 :

mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in

내 코드는 다음과 같습니다.

<?
$fb_id = $user_profile['id'];
$locale = $user_profile['locale'];

if ($locale == "nl_NL") {
    // Checking User Data @ WT-Database
    $check1_task = "SELECT * FROM `users` WHERE `fb_id` = " . $fb_id . " LIMIT 0, 30 ";
    $check1_res = mysqli_query($con, $check1_task);
    $checken2 = mysqli_fetch_array($check1_res);
    print $checken2;
    // If the user does not exist @ WT-Database -> insert
    if (!($checken2)) {
        $add = "INSERT INTO users (fb_id, full_name, first_name, last_name, email) VALUES ('$fb_id', '$full_name', '$first_name', '$last_name', '$email')";
        mysqli_query($con, $add);
    }
    // Double-check, the user won't be able to load the app on failure inserting to the database
    if (!($checken2)) {
        echo "Excuse us " . $first_name . ". Something went terribly wrong! Please try again later!";
        exit;
    }
} else {
    include ('sorrylocale.html');
    exit;
}

나는 그것이 내 쿼리가 틀린 것과 관련이 있다는 것을 읽었지만 내 호스팅 제공 업체에서 일 했으므로 그럴 수는 없다!

해결법

  1. ==============================

    1.해당 쿼리가 실패하고 false를 반환합니다.

    해당 쿼리가 실패하고 false를 반환합니다.

    mysqli_query () 다음에 무슨 일이 일어나는지 알아보기.

    if (!$check1_res) {
        printf("Error: %s\n", mysqli_error($con));
        exit();
    }
    

    자세한 내용은:

    http://www.php.net/manual/en/mysqli.error.php

  2. from https://stackoverflow.com/questions/15439919/mysqli-fetch-array-expects-parameter-1-to-be-mysqli-result-boolean-given-in by cc-by-sa and MIT license