2013-03-15 35 views
26

給我有一些麻煩檢查如果FB USER_ID在我的數據庫已經存在(如果它不應該再接受用戶作爲一個新的,其他人只是加載畫布應用程序)。我跑了我的託管服務器上,並沒有什麼問題,但在我的本地它給了我下面的錯誤:mysqli_fetch_array()預計參數1被mysqli_result,布爾在

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 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, User won't be able to load app on failure inserting to database 
    if (!($checken2)) { 
     echo "Excuse us " . $first_name . ". Something went terribly wrong! Please try again later!"; 
     exit; 
    } 
} else { 
    include ('sorrylocale.html'); 
    exit; 
} 

我讀過它有話做我的查詢是錯誤的,但它已經在我的託管服務提供商合作,這樣不能吧!

+2

您需要添加錯誤處理您的查詢,這樣你就可以找出到底爲什麼它是失敗的。您還有一個重大的SQL注入漏洞。 – 2013-03-15 18:45:11

+1

請,** **請使用'mysqli'準備好的語句功能[正確逃避你的SQL查詢(http://bobby-tables.com/php)。 – tadman 2013-03-15 18:59:06

回答

相關問題