因此,我开始使用HTML,PHP和MySQL在本地Web服务器上创建网站。 索引页面着重于一个注册表单,该表单会将输入框中插入的数据添加到我的数据库中。
应插入的数据为:email
,username
和password
。
我的数据库名为rgstr
,表名称为account
。外观如下:PrintScreen。
因此,插入的行为:id
(具有自动增量,从NULL开始),username
,email
和password
。
这是我的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.");
?>
问题是,数据未插入我的数据库中。没有错误返回,或者至少,我不知道如何回显它。有什么建议吗?谢谢。
答案 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>