【问题标题】:How to display sql query for forgot password如何显示忘记密码的sql查询
【发布时间】:2012-11-28 14:28:57
【问题描述】:
我是 php/mysql 的新手,我想知道如何完成一个 “忘记密码” 页面,该页面显示用户在注册期间填写的问题。
我有一个查询,但我似乎无法让它工作
$emailcheck = $_POST['email'];
$checkit = mysql_query("SELECT * Security_Question FROM users WHERE email ='$emailcheck'")
所以我的问题是如何显示“安全问题”?
【问题讨论】:
标签:
php
mysql
forgot-password
【解决方案1】:
使用 mysql_fetch_array() 方法从查询资源中提取数据:
$emailcheck = $_POST['email'];
$checkit = mysql_query("SELECT Security_Question FROM users WHERE email ='$emailcheck'"); //fixed query syntax*
if (!$checkit) exit(); //don't forget to catch query errors!
$result = mysql_fetch_array($checkit);
$question = $result['Security_Question'];
$question 将保存安全问题。
【解决方案2】:
您的 SQL 不正确。
$checkit = mysql_query("SELECT Security_Question FROM users WHERE email ='$emailcheck'");
或
$checkit = mysql_query("SELECT * FROM users WHERE email ='$emailcheck'");
您也不应该直接在 SQL 中使用 POSTed 变量。至少先清理它,或者 mysql 转义它。最好尝试使用准备好的语句,
http://php.net/manual/en/pdo.prepared-statements.php