我有一个php文件,它必须根据论坛软件的数据库验证用户登录数据。我在为使用德国特殊字符(如ä,ö,ü)的用户名选择成员表的右侧行时遇到问题 - 它无法找到相应的行。但是,如果我使用MySQL工作台进行相同的查询,我可以找到相应的成员。因此我认为PDO连接或我的php文件存在问题。
PHP部分选择成员行:
/* Get all Member attributes for the username */
$query = $db->prepare("SELECT * FROM members WHERE members_l_username = :name");
$query->bindValue(':name', $username);
$query->execute();
$member = $query->fetch(PDO::FETCH_ASSOC);
创建PDO对象:
try {
$db = new PDO("mysql:host=$dbhost;port=3306;dbname=$dbname;charset=utf8", $user, $pass);
}catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
为什么我找不到$ username =“MarkFröst”的行,即使它存在(并且查询适用于MySQL工作台)?