我最近从 Mysql_* 切换到 PDO,听说它是连接和使用 MySQL 数据库的新的、更安全的方式。
我已经学习了它的许多基础知识,例如查询、准备等。
我想做什么
我目前有两个文本字段,名为“电子邮件”和“ID”。当用户注册时,他输入他的电子邮件,在他注册后他会收到他自己的 ID,这是独一无二的。我希望他能够检查他的帐户状态,而无需任何密码。
只需输入他的电子邮件和 id 并单击“提交”即可。点击提交后,系统会检查是否有相同邮箱和ID的栏目。如果有一列具有这些完全相同的电子邮件和 ID,那么我可以创建一个 while 循环来从他的帐户列中获取信息,例如创建日期等。
我的问题
我该怎么做?
这是我到目前为止所做的:
if (isset($email) && isset($id) && isset($submit)) {
$fetch = $connect->prepare("SELECT * FROM users WHERE email = :email LIMIT 1");
$fetch->bindValue(':email', $email);
$fetch->execute();
$validate = $fetch->fetchColumn();
if ($validate == 0) {
echo 'failed';
} else {
echo 'not failed';
}
while($row = $fetch->fetch( PDO::FETCH_ASSOC )) {
//We can fetch here...
}
}
我的朋友建议我使用 fetchColumn() 来替换 mysql_num_columns 函数,但它似乎不起作用。
我输入了正确的电子邮件地址,但它仍在回显“失败”而不是“未失败”。
为什么这种方法不起作用?我做错了吗?
谢谢!