php - 给定 bool 值,其中参数应为资源

标签 php mysql email

当我尝试使用我的函数时遇到一个错误,但我不知道如何修复它。

function is_valid($email_e, $email_code_e, $username_e) {
    $email = mysql_real_escape_string($email_e);
    $email_code = mysql_real_escape_string($email_code_e);
    $username = sanitize($username_e);
    return (mysql_result
               (mysql_query
                   ("SELECT COUNT(*) FROM `users`
                     WHERE `username` = $username
                     AND `email_code` = $email_code
                     AND `email` = $email"), 0) == 1) ? true : false;
 }

Warning: mysql_result() expects parameter 1 to be resource, boolean given in /home/meuts3/public_html/core/functions/users.php on line 34

我正在尝试创建一个忘记密码系统,当有人尝试获取新密码时,他会收到一个包含 email_code用户名电子邮件的链接。当他点击时,他会进入一个changepassword页面,在这个页面中,我将使用函数is_valid检查这些信息是否有效,因此如果is_valid code> 我必须返回 user_id 才能启动 session user_id

我怎样才能做到这一点?

谢谢,我真的很感谢你们。

最佳答案

您的sql语句有错误。您必须在 '' 中引用 $username$email_code$email

SELECT COUNT(*) FROM `users` WHERE `username` = '$username'  AND `email_code` = '$email_code' AND `email` = '$email'

因此 mysql_query 返回 false,而不是资源对象。

关于php - 给定 bool 值,其中参数应为资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17645826/

相关文章:

php - 在 PDO SELECT COUNT(*) 类型中使用 fetch() 时出现问题

php - Uncaught Error : Cannot use object of type WP_Term as array

mysql - 如何从两个不同的表中查找最新记录

php - mysql 和 php 密码重置

python - 如何从mail.uid python中的时间戳获取所有电子邮件

python - Django 1.8 使用 gmail SMTP 发送邮件

ruby-on-rails-3 - 使用 Devise 创建新用户时跳过电子邮件确认

php - 在 react 中使用Fetch,需要用户名密码才能访问数据库

mysql HOUR() 占时区

php - MySQL5.6 vs Percona 5.7 隐式转换问题