提问者:小点点

将用户信息插入数据库时出现问题[重复]


我无法将用户的电子邮件,姓名和密码插入数据库。 我的数据库表有四列“id”,“email”,“name”和“password”。 “id”设置为主键并自动递增。 但是当我注册一个用户时,只插入'id',而其他三列是空的。

<h2>Register Here</h2>
<form action="registration.php">
<div class="form-group">
        <label>Email</label>
        <input type="text" name="email" class="form-control" required>
    </div>
    <div class="form-group">
        <label>Username</label>
        <input type="text" name="user" class="form-control" required>
    </div>
    <div class="form-group">
        <label>Password</label>
        <input type="password" name="password" class="form-control" required>
    </div>
    <button type="submit" class="btn btn-primary">Register</button>
</form>

<?php
session_start();
header('Location: login.php');

$conn = mysqli_connect('localhost', 'root', '');
mysqli_select_db($conn, 'user_registration');

$email = $_POST['email'];
$name = $_POST['user'];
$password = $_POST['password'];

$select = "SELECT * FROM user_table WHERE name='$name'";
$result = mysqli_query($conn, $select);
$num = mysqli_num_rows($result);

if ($num == 1) {
    echo "Username already taken.";
} else {
    $register = "INSERT INTO user_table(email, name, password) VALUES ('$email', '$name', '$password')";
    mysqli_query($conn, $register);
    echo "Registration Successful.";
}
?>

该条目将进入数据库,因为数据库中添加了一个额外的行,但是除了'id'字段之外,所有内容都是空的。

注意:我知道代码容易受到SQL注入的影响。


共1个答案

匿名用户

尝试echo$register; 复制输出并在mysql上运行以查看结果;

或$queryresult=$conn->query($register)Var_dump($queryresult)

要调试