2011-12-04 129 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,null在行14,15,20,21和22中给出!Mysqli_query()期望参数1为mysqli,null给出?混乱?

+1

您应该在mysqli_connect之后检查$ dbc,它可能会失败。 – erenon

+0

@erenon,也是如此。但即使它没有... –

+0

可能的重复[警告:mysql_fetch_ *期望参数1是资源,布尔给定错误](http://stackoverflow.com/questions/11674312/warning-mysql-fetch-expects -parameter-1-to-resource-boolean-given-error) –

回答

7

global $dbc;添加到checkUser的开头。该变量未在函数作用域中定义。

+0

并启用完整的错误报告。 –

+0

This works ..但是我有一个疑问..如果$ dbc是在类之外声明的(默认情况下它是全局的),那么为什么aggain使它成为全局的呢?我很抱歉,如果我错了.. coz我是新手.. –

+0

是的,值得注意的是,我只处理眼前的问题。 –

相关问题