我正在编写一个脚本,使用户可以更新密码。为此,它首先查找用户输入的电子邮件地址,然后将密码更新为他们创建的密码。但是,我从mysql_query()收到“未选择数据库”错误。我正在测试的电子邮件地址有效并且在数据库中,而且我的查询语法看起来不错。我不知道是什么原因造成的。任何建议将不胜感激,谢谢大家。
此外,我浏览过很多次的表单都可以发布这些值。
<?php
mysql_connect('localhost','calsheet_project','UUx[@]MoF4?F') or die("couldn't connect!");
$eml = $_POST['data'];
$newPassword = $_POST['data1'];
$cnewPassword = $_POST['data2'];
$query = mysql_query("SELECT * FROM accounts WHERE email = $eml") or die(mysql_error());
$fetch = mysql_fetch_array($query);
var_dump($fetch);
echo mysql_error();
if($fetch > 0) {
mysql_query("UPDATE accounts SET password=$cnewPassword WHERE
email=$eml");
echo "Password Reset!";
} else {
echo "email address cannot be found.";
};
?>
如果工作正常,则应更新用户关联电子邮件地址的密码字段。但是,它显示了错误“未选择数据库”。
答案 0 :(得分:1)
在执行mysql_query
// select the query database
mysql_select_db("db_name");
并且PHP官员表示mysql_connect()
出于安全原因已不再适用。
警告 此扩展在PHP 5.5.0中已弃用,在PHP 7.0.0中已删除。相反,应使用MySQLi或PDO_MySQL扩展名。
有关更多详细信息,请参见http://php.net/manual/en/function.mysql-connect.php