mysql_query()返回错误“未选择数据库”吗?

时间:2019-01-31 00:52:01

标签: php mysql

我正在编写一个脚本,使用户可以更新密码。为此,它首先查找用户输入的电子邮件地址,然后将密码更新为他们创建的密码。但是,我从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.";
};

?>

如果工作正常,则应更新用户关联电子邮件地址的密码字段。但是,它显示了错误“未选择数据库”。

1 个答案:

答案 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