1. ホーム
  2. スクリプト・コラム
  3. その他

[解決済み】mysqli_fetch_array() は、パラメータ 1 が mysqli_result であることを期待し、boolean は【重複】で与えられました。

2022-01-11 01:38:34

質問

FacebookのUser_idが存在するかどうかを照会し、存在する場合はアプリケーションを直接読み込み、存在しない場合は新しいユーザーとして受け入れる、という関数を実装する必要があります。

<?
$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;
}

実行すると、エラーが発生します。

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

私はそれが私のクエリが間違っていることと関係があると読んだが、それは私のホスティングプロバイダ上で動作しているので、それはできません!私は、それがどのようなものであるかを知ることができます。

解決方法は?

に与えられたクエリは mysqli_query() は失敗し false .

の後に置きます。 mysqli_query() をクリックすると、何が起こっているのかがわかります。

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

詳しくはこちら

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