PHP MySQLi编写语句 - 检查是否存在某些内容

时间:2012-10-26 00:09:11

标签: php mysql

对于用户注册,我想确保用户名和电子邮件尚未使用。我已经在代码中的其他地方连接到$ mysqli。

$usr = $mysqli->real_escape_string($_POST['susername']);
$eml = $mysqli->real_escape_string($_POST['semail']); 

$stmt = $mysqli->prepare("SELECT userid FROM users WHERE username=? || email=?");
$stmt->bind_param("is", $usr, $eml);
$stmt->execute();
$stmt->bind_result($count);
$stmt->close();

但是,计数不包含任何内容。如何检查数据库中是否已存在某些内容?

2 个答案:

答案 0 :(得分:1)

更改,

stmt = $mysqli->prepare("SELECT userid FROM users WHERE username=? || email=?");

stmt = $mysqli->prepare("SELECT count(userid) FROM users WHERE username=? || email=?");

然后您应该使用fetch()

获取值

答案 1 :(得分:0)

您的用户名是否为整数?您可以尝试以下代码,

$stmt->bind_param("ss", $usr, $eml); //ss