mysql_query("INSERT INTO... 无效

mysql_query("INSERT INTO... is not working

我正在尝试创建一个注册页面。该页面已成功连接到 phpMyAdmin 数据库,但当我单击注册按钮时它没有回显任何内容。

<html>
<head>
</head>

<body>

<?php
INCLUDE "connect.php";
INCLUDE "functions.php";
INCLUDE "titlebar.php";
?>

            <div id="loginform">    
            <h1>Register</h1>

            <form name="Register" action="register.php" method="post">
            <?php
            if(isset($POST["submit"])){
                    $username = $_POST["username"];
                    $password = md5 ($_POST["password"]);
                    if(empty($username) or empty($password)){
                            echo "<p>Fields Empty!</p>";
                    } else {
                            mysql_query("INSERT INTO login VALUES('',$username','$password','2','')");
                            echo "<p>Successfully Registered!</p>";
                    }
            }
            ?>
                <p>     
                    <label for="username">Username: </label>
                    <input type="text" name="username" id="username"/></p><p>

                    <label for="password">Password: </label>
                    <input type="password" name="password" id="password"/></p><p>
                    <input type="submit" name="submit" value="Register" />
                </p>
            </form>
            </div>
</body>

您有 mysql 个错误

不是:$username'

但是'$username'

下次使用 mysql_error() 显示 mysql 错误。

问题出在 post 方法上。 使用 $_POST 而不是 $POST

一开始,我不确定 isset($_POST['submit'] 应该 return 是什么,但是正如评论中已经提到的,你漏掉了一个单引号。

另外我会使用:

$password = password_hash($_POST['password'], 

md5 已弃用,因此不安全。如果您编写登录脚本,您可以使用 password_verify(plainPW, hashPW)

您还需要指定一个数据库并登录。我建议查看 W3 Schools 示例,它们非常深入并且有很好的示例。 W3 school mysqli page

还要在脚本末尾写一个 die() 并且不要忘记关闭连接。