繁体   English   中英

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>

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

您有mysql错误

不: $username'

但是'$username'

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

一开始,我不确定isset($ _ POST ['submit']应该返回什么,但是正如您已经在注释中提到的那样,您错过了单引号。

另外,我会使用:

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

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

您还需要指定一个数据库并登录。 我建议看一下W3 Schools的例子,它们非常深入,并且有很好的例子。 W3学校mysqli页面

还要在脚本的末尾编写一个die(),不要放弃关闭连接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM