2011-12-04 11 views
3
define('DB_HOST', 'localhost'); 
    define('DB_USER', '******'); 
    define('DB_PASSWORD', '************'); 
    define('DB_NAME', '***********'); 

$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 


class User { 

function checkUser($uid, $oauth_provider,$username,$email,$twitter_otoken,$twitter_otoken_secret) 
{ 
    $query = mysqli_query($dbc,"SELECT * FROM si_table WHERE oauth_uid = '$uid' and oauth_provider = '$oauth_provider'"); 
    $result = mysqli_fetch_array($query); 
    if (!empty($result)) { 
     # User is already present 
    } else { 
     #user not present. Insert a new Record 
     $query = mysqli_query($dbc,"INSERT INTO si_table (oauth_provider, oauth_uid, user_name,email_id,twitter_oauth_token,twitter_oauth_token_secret) VALUES ('$oauth_provider', $uid, '$username','$email')") ; 
     $query = mysqli_query($dbc,"SELECT * FROM si_table WHERE oauth_uid = '$uid' and oauth_provider = '$oauth_provider'"); 
     $result = mysqli_fetch_array($query); 
     return $result; 
    } 
    return $result; 
} 



} 

このエラーが発生しています。どうしてか分かりません? mysqli_query()は、パラメータ1がmysqli、14,15,20,21、および22行に指定されたnullであることを想定しています!Mysqli_query()は、パラメータ1がmysqli、nullになることを期待していますか?混乱している?

+1

mysqli_connectの後に$ dbcをチェックすると、失敗する可能性があります。 – erenon

+0

@レノンもまた真実です。しかし、それができなかったとしても... –

+0

[警告:mysql_fetch_ *は、パラメータ1がリソースであると想定し、ブール値のエラーが発生する可能性があります](http://stackoverflow.com/questions/11674312/warning-mysql-fetch-expects) -parameter-1-to-be-resource-boolean-given-error) –

答えて

7

global $dbc;checkUserの先頭に追加します。変数は関数スコープでは定義されていません。

+0

また完全なエラー報告も有効にします。 –

+0

これはうまくいきますが、$ dbcがクラスの外で宣言されていれば疑問がありました(デフォルトではグローバルになります)。もし私が間違っていれば、申し訳ありません。私は初心者です。 –

+0

はい、それは私がただの問題を扱ったことに気づく価値があります。 –

関連する問題