您好我是PHP新手,非常感謝能否告訴我在此代碼中哪裏出錯。 爲了將代碼置於上下文中,我使用了Facebook來驗證用戶並將他們的註冊詳細信息添加到我的應用程序數據庫中。 在下面的代碼中,打算檢查用戶是否已經存在於數據庫中,如果不添加它們。 出於某種原因,我無法測試$result
測試選擇查詢是否找到結果
我檢查查詢變量,他們呼應了沒有問題
@ $con = new mysqli('localhost', 'username', 'password', 'database');
if(mysqli_connect_errno()){
echo 'Error: Could not connect to the database. Please try again later';
exit;
}
$query = "SELECT * FROM users WHERE oauth_provider = 'facebook' AND oauth_uid ='".$uid."'";
$result = $con->query($query);
if($result === FALSE){
$insertquery = "INSERT INTO ('oauth_provider', 'oauth_uid', 'username') VALUES ('facebook', '".$uid."', '".$username."')";
$result = $con->query($query);
}
我也許應該補充我有使用舊的MySQL方法的代碼工作。但我已經讀過,最好使用面向對象的mysqli方法。
這裏是老工作的代碼
if($session){
$con = mysql_connect('localhost', 'user', 'password');
$select_db = mysql_select_db('database');
if(!$con || !$select_db){
die('Could not connect: ' . mysql_error());
}
else{
echo "connected to database and table selected";
}
$query = mysql_query("SELECT * FROM users WHERE oauth_provider = 'facebook' AND oauth_uid = ". $user['id']);
$result = mysql_fetch_array($query);
if(empty($result)){
$query = mysql_query("INSERT INTO users (oauth_provider, oauth_uid, username) VALUES ('facebook', {$user['id']}, '{$user['name']}')");
$query = mysql_query("SELECT * FROM users WHERE id = " . mysql_insert_id());
$result = mysql_fetch_array($query);
}
}
任何幫助,您可以給我認識。
如果($結果=== FALSE){ 可能成爲如果(!$結果){ – benhowdle89 2010-12-01 12:08:04
如果($結果 - > num_rows()== 0)應該可以工作。 – Gazler 2010-12-01 12:09:24