1
我使用此函數來檢查記錄是否存在於我的數據庫中,並相應地執行。在數據不匹配的情況下,第二部分會出現一些錯誤:它應該插入一條新記錄,但它不會插入新數據,並返回空數據。我哪裏錯了?函數返回空數據
class User {
function checkUser($uid, $oauth_provider, $username,$email,$twitter_otoken,$twitter_otoken_secret)
{
// Define database connection constants
define('DB_HOST', 'localhost');
define('DB_USER', '*********');
define('DB_PASSWORD', '********');
define('DB_NAME', '******');
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$query ="SELECT * FROM si_table WHERE oauth_uid = '$uid' and oauth_provider = '$oauth_provider'";
$data=mysqli_query($dbc,$query);
$result = mysqli_fetch_array($data);
if (!empty($result)) {
# User is already present
} else {
#user not present. Insert a new Record
$query2 ="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')";
mysqli_query($dbc,$query2);
$query1 ="SELECT * FROM si_table WHERE oauth_uid = '$uid' and oauth_provider = '$oauth_provider'";
$data1=mysqli_query($dbc,$query1);
$row = mysqli_fetch_array($data1);
return $row;
}
return $result;
}
}
返回值檢查?請大力考慮使用參數化查詢 - 這是一項小型投資,可以爲您節省SQL注入的恐慌。 – Polynomial
更重要的是,INSERT語句發生了什麼?那個看起來錯了。更好地檢查錯誤:http://de3.php.net/manual/en/mysqli.error.php – Carsten
對不起,我對此一點無知。你能指導我嗎? –