【发布时间】:2013-12-31 11:02:02
【问题描述】:
如何检查数据库中是否已经存在用户?
我有变量$name = $user_profile['name'];它成功返回用户名。
这是我检查用户是否已存在于数据库中的代码部分。
$user_profile = $facebook->api('/me');
$name = $user_profile['name'];
$mysqli = new mysqli("asd", "asdf", "pw", "asdssst");
/* Create the prepared statement */
$stmt = $mysqli->prepare("SELECT COUNT(*) AS num FROM myTable WHERE userName = ?") or die("Prepared Statement Error: %s\n" . $mysqli->error);
/* Bind results to variables */
$stmt->bind_param('s', $name);
/* Execute the prepared Statement */
$stmt->execute();
$data = $stmt->fetch();
if ($data['num'] > 0) {
echo "bad";
print "user already exists\n";
} else {
echo "good";
$apiResponse = $facebook->api('/me/feed', 'POST', $post_data);
print "No user in database\n";
}
/* Close the statement */
$stmt->close();
无论用户是否在数据库中,它总是返回:good No user in database。这意味着$data['num'] 始终是0。
附:我知道我需要使用 FB 用户 ID 而不是用户名,但在这种情况下我需要这样做。
【问题讨论】: