为什么我的数据没有插入数据库中?

时间:2019-08-13 06:52:05

标签: php mysql

因此,我开始使用HTML,PHP和MySQL在本地Web服务器上创建网站。 索引页面着重于一个注册表单,该表单会将输入框中插入的数据添加到我的数据库中。

应插入的数据为:emailusernamepassword。 我的数据库名为rgstr,表名称为account。外观如下:PrintScreen

因此,插入的行为:id(具有自动增量,从NULL开始),usernameemailpassword

这是我的HTML表单:

<form action="#" method="POST">
    <input type="email" name="email" placeholder="Email Address" required><br>
    <input type="text" name="username" placeholder="Username" required><br>
    <input type="password" name="password" placeholder="Password" required><br>
    <button name="save">Register</button>
    <input type="reset">
</form>

...这就是我的php代码:

<?php
    $conn = mysqli_connect("localhost","root","","rgstr")
    or die("Could not connect to database.");
    $email = $_POST["email"];
    $username = $_POST["username"];
    $password = $_POST["password"];
    $query = 'INSERT INTO accounts(username, email, password) VALUES ($username, $email, $password)';
    if (mysqli_query($conn, $query))
        echo "Inserted into database.";
    else if (isset($_POST["save"])) die("Error inserting account into database.");
?>

问题是,数据未插入我的数据库中。没有错误返回,或者至少,我不知道如何回显它。有什么建议吗?谢谢。

2 个答案:

答案 0 :(得分:1)

您可以使用mysqli_error()函数查看发生了什么错误。请参见以下示例:

// $query = "your query"; 
if (!mysqli_query($con, $query))
{
   echo("Error description: " . mysqli_error($con));
}

答案 1 :(得分:-1)

您在列名称的位置使用了mysql password关键字,因此必须在内部使用该关键字才能运行。下面的代码将正常工作。

<?php
        $conn = mysqli_connect("localhost", "root", "", "rgstr")
        or die("Could not connect to database.");
        if (isset($_POST["save"])) {
            $email = $_POST["email"];
            $username = $_POST["username"];
            $password = $_POST["password"];
            $query = "INSERT INTO accounts(username, email, `password`) VALUES ('$username', '$email', '$password')";
            if (mysqli_query($conn, $query)) {
                echo "Inserted into database.";
            } elseif (isset($_POST["save"])) {
                die("Error inserting account into database.");
            }
        }
    ?>

    <form action="" method="POST">
        <input type="email" name="email" placeholder="Email Address" required><br>
        <input type="text" name="username" placeholder="Username" required><br>
        <input type="password" name="password" placeholder="Password" required><br>
        <button name="save">Register</button>
        <input type="reset">
    </form>