php - 为什么我的 MySQL 数据库会添加空行?

标签 php mysql sql mamp

我正在通过在 Mac 上运行 MAMP 并通过 phpMyAdmin 访问数据库来学习 PHP 和 SQL。

我制作了一个 PHP 脚本来将新用户添加到表中,一个用于将输入的数据与表(登录)进行比较,另一个用于关闭帐户。所有脚本都非常基础,而且数据根本没有经过净化,因为我刚刚习惯 PHP 的基础知识。

我注意到,在运行帐户创建脚本(插入数据)后,运行脚本几秒钟后,表中将添加一个带有 id 的新行(我已将其设置为自动递增) )但没有其他数据。

我只是想知道这个问题的原因是否是 MySQL 中我所缺少的一些明显的东西。

以下是帐户创建脚本:

<?php
//Get values from HTML form
$varUsername = $_POST['username'];
$varPassword = $_POST['password'];
$varPasswordHash = password_hash($varPassword, PASSWORD_DEFAULT);

//Establish connection to database
$server = "localhost";
$username = "root";
$password = "root";
$database = "members";

$connection = mysqli_connect($server, $username, $password, $database);
if(!$connection)
{
    die("Connection failed: " . mysqli_connect_error());
}

//Send data to database
$action = "INSERT INTO details (USERNAME, PASSWORD) VALUES ('$varUsername', '$varPassword')";

if(mysqli_query($connection, $action))
{
    echo 'Account created.';
}
else
{
    echo 'Account creation failed: ' . mysqli_error($connection);
}

mysqli_close($connection); //End connection to database
?>

以及与之配套的 HTML 表单:

<html>
<body>
    <form action="sign_up.php" method="post">
        <input type="text" name="username">
        <input type="text" name="password">
        <input type="submit">
    </form>
</body>
</html>

最佳答案

我现在正在猜测......

我会向脚本本身添加一个额外的 if 语句。像这样:

if (isset($_POST['submit-form'])) {
    // All the above to insert the data into the script...
}

如果您访问 sign_up.php 就会有意义本身并注意您的数据库中有一个新条目。

您必须稍微修改一下 HTML,才能使 if 语句起作用。

只需添加 name='submit-form'提交按钮:<input type="submit" name="submit-form">

这将使脚本更加完整。

关于此事还有一点更新,因为我刚刚读到它在您提交空表单后添加了一个空行。

您可以检查字段是否填写了,猜猜看,另一个 if 语句:

if (empty($_POST['username'])) {
    echo 'Please enter your username...';
} else
if (...)

关于php - 为什么我的 MySQL 数据库会添加空行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36966569/

相关文章:

php - CakePHP 3.0 连接数据库失败

php - 表格单元格/二维数组排序算法

javascript - 如何将从数据库中提取的数字传递到 javascript 数据部分?

php - 带有 codeigniter 问题的数据库缓存

sql - Join 和 Pivot 语句 SQL Server

php - 加盐密码,特别是关于数据库和检索密码

php - 回显 MySQL 查询的单个结果

php - 如何在mysql中有条件地将行转换为列?请阅读正文

PHP 和 MySQL 图片一键 ActionScript

php - 回显 sql 行作为页面 url