我正在尝试创建一个脚本来检查提供的用户名是否在“users”表中,但“if”语句总是返回 false。users 表只有一列“username”,列出了所有用户。我究竟做错了什么?
$dbh = new PDO("sqlite:db.sqlite");
$stmt = $dbh->prepare("SELECT username from users where username = :name");
$stmt->bindParam(":name", $user);
$stmt->execute();
if($stmt->rowCount() > 0)
{
//in the table
}
else{
//not in the table
}
整个脚本:
<?php
require_once 'mclogin.class.php';
$api = new MinecraftAPI();
$user = $_POST['user'];
$password = $_POST['pword'];
if($api->login($user, $password)){
print $user;
$dbh = new PDO("sqlite:db.sqlite");
$stmt = $dbh->prepare("SELECT username from users where username = :name");
$stmt->bindParam(":name", $user);
$stmt->execute();
if($stmt->rowCount() > 0)
{
echo "You are whitelisted";
}
else{
echo "You are not whitelisted";
}
}else{
echo "Bad login";
}
?>
发送信息的页面:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<form name="input" action="login.do.php" method="post">
Username: <input type="text" name="user">
Password: <input type="password" name="pword">
<input type="submit" value="Submit">
</form>
</body>
</html>