Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

I'm have some trouble checking if a Facebook User_id already exists in my database (if it doesn't it should then accept the user as a new one and else just load the canvas application). I ran it on my hosting server and there was no problem, but on my localhost it gives me the following error:

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

Here's my 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; } 

I've read it has something to do with my query being wrong, but it has worked on my hosting provider so that can't be it!

like image 822
Mats de Swart Avatar asked Mar 15 '13 18:03

Mats de Swart


People also ask

What does Mysqli_fetch_array return?

The fetch_array() / mysqli_fetch_array() function fetches a result row as an associative array, a numeric array, or both. Note: Fieldnames returned from this function are case-sensitive.

What is the difference between Mysqli_fetch_assoc and Mysqli_fetch_array?

Difference between mysqli_fetch_assoc() and mysqli_fetch_array() The major difference between mysqli_fetch_assoc and mysqli_fetch_array is the output format of result data. mysqli_fetch_assoc returns data in an associative array and mysqli_fetch_array returns data in a numeric array and/or in an associative array.

What is Mysqli_result?

The mysqli_result class ¶Represents the result set obtained from a query against the database.


1 Answers

The query given to mysqli_query() is failing and returning false.

Put this after mysqli_query() to see what's going on.

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

For more information:

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

like image 193
castis Avatar answered Sep 18 '22 22:09

castis