为什么我会犯这些错误


Why am I getting all these errors?

如果这看起来很愚蠢但很简单,我很抱歉,但我似乎不明白为什么会出现这些错误:

警告:mysql_result()要求参数1为resource,布尔值在第25行的C:''Program Files(x86)''EasyHP-5.3.9''www''Image Upload''func''user.func.php中给定

注意:第37行C:''Program Files(x86)''EasyHP-5.3.9''www''Image Upload''register.php中的未定义索引:user_id

这是每个文件的代码

user.func.php:

function user_exists($email){
$email = mysql_real_escape_string($email);
$query = mysql_query("SELECT COUNT(`user_id`) FROM `users` WHERE `email` = `$email`");
return (mysql_result($query, 0) == 1) ? true : false;
}

这里是register.php:

if (isset($_POST['register_email'], $_POST['register_name'], $_POST['register_password'])){
$register_email = $_POST['register_email'];
$register_name = $_POST['register_name'];
$register_password = $_POST['register_password'];
$errors = array();
if(empty($register_email) || empty($register_name) || empty($register_password)){
    $errors[] = 'All fields must be filled out';
} 
else{
        if(filter_var($register_email, FILTER_VALIDATE_EMAIL) === false){
            $errors[] = 'Email address not valid';
        }
        if(strlen($register_email) > 255 || strlen($register_name) > 35 || strlen($register_password) > 35){
            $errors[] = 'One or more fields contains too many characters';
        }
        if(user_exists($register_email) === true){
            $errors[] = 'That email has already been registered to another user';
        }
    }
if(!empty($errors)){
    foreach ($errors as $error){
        echo $error, '<br />';
    }
} else {
    $register = user_register($register_email, $register_name, $register_password);
    $SESSION['user_id'] = $register;
    echo $_SESSION['user_id'];
}
}

谢谢你的帮助!-TechGuy24

查询失败。。它应该是CCD_ 1(而不是用反勾号包围第二封电子邮件)。

还请查阅准备好的报表和PDO。

mysql_query将在失败时返回FALSE(布尔值),并在成功时返回您正在查找的"资源"。

您对值使用了backticks"`;",因此查询失败,请使用单引号'

$query = mysql_query("SELECT COUNT(`user_id`) FROM `users` WHERE `email` = '$email'");