您好我是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