0
我在尝试将下面的语句转换为PDO.But,但我对用户名和电子邮件的绑定值感到困惑。PDO-用用户名或邮箱登录
<?php
//$login is either username or email
$user = mysql_query("SELECT * FROM users WHERE (username = '$login' OR email = '$login') AND password = '$password'");
?>
上述声明的PDO版本我试过了。这里的$ login是用户名或电子邮件。
<?php
//$login is either username or email
$query_usr = $this->db_connection->prepare("SELECT * FROM members WHERE username=:username OR email=:user_email) AND password = ':password'");
$query_usr->bindValue(':username', $login, PDO::PARAM_STR);
$query_usr->bindValue(':user_email', $login, PDO::PARAM_STR);
$query_usr->bindValue(':password', $password, PDO::PARAM_STR);
$query_usr->execute();
$query_usr_result_row = $query_usr->fetchObject();
?>
这是否有意义?
谢谢您的回答。我应该只使用:登录吗?我在数据库中有两个单独的字段用于用户名和电子邮件。 – 2015-02-24 19:32:39
他们在'IN'列表中。语法是非常通用的'WHERE值IN(field1,field2,... fieldN)'或'WHERE字段IN(value1,value2,... valueN)' – 2015-02-24 19:33:24
对不起,我没有注意到那个。我的不好。谢谢再次。 – 2015-02-24 19:34:49