mysqli fetch array() s'attend à ce que le paramètre 1 soit un résultat mysqli, booléen donné dans [duplicate]

Cette question a déjà une réponse ici:

  • mysql_fetch_array ()/mysql_fetch_assoc ()/mysql_fetch_row () / mysql_num_rows etc ... attend le paramètre 1 comme ressource 31 réponses

J'ai du mal à vérifier si un User_id Facebook existe déjà dans ma base de données (si ce n'est pas le cas, il devrait alors accepter l'utilisateur comme un nouveau et sinon il suffit de charger le application de toile). J'ai couru sur mon serveur d'hébergement et il n'y a pas de problème, mais sur mon localhost, il me donne l'erreur suivante:

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

Voici mon code:

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

J'ai lu que cela avait quelque chose à voir avec le fait que ma requête était fausse, mais cela a fonctionné sur mon fournisseur d'hébergement, ce qui ne peut pas l'être!

28
demandé sur Peter Mortensen 2013-03-15 22:43:11

1 réponses

Cette requête échoue et renvoie false.

Mettez ceci après mysqli_query() pour voir ce qui se passe.

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

Pour plus d'informations:

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

81
répondu castis 2018-05-02 19:21:32