为什么我的PHP会出现500错误?

时间:2012-07-07 22:07:19

标签: php mysql

我正在尝试创建一个帐户注册页面,当我添加一个系统来检查数据库并确保没有多个行具有相同的用户名时,我收到500错误。

以下是有效的代码:

<?php


if(isset ($_POST['submit']))
{
    include( 'connection.php' );

    $username = $_POST['username'];
    $password = $_POST['password'];
    $email = $_POST['email'];

    if(empty($username) || empty($email) || empty($password))
    {
        echo 'Please check the required fields.';
    }
    elseif(!filter_var($email,FILTER_VALIDATE_EMAIL))
    {
        echo 'Please enter a correct email address.';
    }
    else
    {
        $password = md5($password);
        $sql = mysql_query("INSERT INTO users (email,username,password) VALUES ('$email','$username','$password')") or die(mysql_error());

        if($sql)
        {
            echo 'Successfully submitted.';
        }
    }   
}
?>

这是给我500错误的代码:

<?php
error_reporting(E_ALL)

if(isset ($_POST['submit'])) {
    include( 'connection.php' );

    $username = $_POST['username'];
    $password = $_POST['password'];
    $email = $_POST['email'];

    $fetch = mysql_query("SELECT * FROM users WHERE username = '$email'") or die(mysql_error();
    $num_rows = mysql_num_rows($fetch);

    if(empty($username) || empty($email) || empty($password)) {
        echo 'Please check the required fields.';
    }
    elseif(!filter_var($email,FILTER_VALIDATE_EMAIL)) {
        echo 'Please enter a correct email address.';
    }

    elseif($num_rows >= 1);
    {
        echo 'This username is taken.';

    else    
    }
        $password = md5($password);
        $sql = mysql_query("INSERT INTO users (email,username,password) VALUES ('$email','$username','$password')") or die(mysql_error());

        if($sql)
        {
            echo 'Successfully submitted.';
        }
    }   
}
?>

3 个答案:

答案 0 :(得分:3)

也许添加一个分号:

error_reporting(E_ALL);

编辑:

您还错过了)

上的die(mysql_error();

;

中删除elseif($num_rows >= 1);

然后将else阻止修复为} else {

答案 1 :(得分:0)

你错过了第一个声明中的分号

答案 2 :(得分:0)

你有

else }
你的代码中的

。这是一个语法错误。你正在寻找

}
else {

代替。