php - 将html表单数据发送到mysql数据库

标签 php html mysql forms

我很难通过php将html表单输入数据存储到mysql数据库中。当我填写表单并提交时,register.php页面为空,成功或错误消息都不会回显到页面上。
注意:是的,我有一个根密码和数据库名。这两个都是正确填写在我的代码我刚刚删除了他们为这篇文章。
编辑:分号已修复,仍有未知错误。
HTML表单:

<form action="register.php" method="POST">
                <input type="text" name="first_name" placeholder="first name" /><br /><br />
                <input type="text" name="last_name" placeholder="last name" /><br /><br />
                <input type="text" name="email" placeholder="email address" /><br /><br />
                <input type="text" name="password" placeholder="password" /><br /><br />
                <input type="submit" name="register" value="Sign Up" />
            </form>

单文件
<?php
if (isset($_POST['register'])) {
    $host = "localhost";
    $username = "root";
    $password = "";
    $database = "";
    $conn = mysqli_connect($host, $username, $password, $database);

    if (mysqli_connect_errno($conn)) {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    $first_name = mysqli_real_escape_string($_POST['first_name']);
    $last_name = mysqli_real_escape_string($_POST['last_name']);
    $email = mysqli_real_escape_string($_POST['email']);
    $password = mysqli_real_escape_string($_POST['password']);
    $date = date("Y-m-d");

    $password = md5($password);

    $sql = "INSERT INTO users (first_name, last_name, email, password, sign_up_date) VALUES ('$first_name', '$last_name', '$email', '$password', '$date')";

    if (!mysqli_query($sql)) {
        die('Error: ' .mysqli_error());
    }

    echo "Entry added successfully";

    mysqli_close($conn); 
} 
?>

最佳答案

试试这个:

<?php
if (isset($_POST['register'])) {
    $host = "localhost";
    $username = "root";
    $password = "";
    $database = ""; //also added semi colon and what database name
    $conn = mysqli_connect($host, $username, $password, $database);

    if (mysqli_connect_errno($conn)) {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    $first_name = mysqli_real_escape_string($conn,$_POST['first_name']); //I've added $conn inside mysqli_real_escape_string expected 1st param
    $last_name = mysqli_real_escape_string($conn,$_POST['last_name']);
    $email = mysqli_real_escape_string($conn,$_POST['email']);
    $password = mysqli_real_escape_string($conn,$_POST['password']);
    $date = date("Y-m-d");

    $password = md5($password);

    $sql = "INSERT INTO users (first_name, last_name, email, password, sign_up_date) VALUES ('$first_name', '$last_name', '$email', '$password', '$date')";
    $query = mysqli_query($conn, $sql); // I think this will add data in your database.

    if (!$conn) { //I change this from mysql_query($sql)
        die('Error: ' .mysqli_error());
    } else {
       echo "Entry added successfully";

       mysqli_close($conn); 
    }
}

关于php - 将html表单数据发送到mysql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32035558/

相关文章:

php - 在新的 mysql 查询中嵌入现有的 php 记录集

php - 访问 node/1 并以编程方式加载它时呈现的差异

php - 在 Wordpress Admin 中启用和禁用自定义用户功能

javascript - 浏览器选项卡存储?

mysql - 复杂的 MySQL 命令出现问题。我可以做这样的复合陈述吗?

php - 在不使用 mysql 服务器资源的情况下加密数据的最佳方法是什么?使用 CFB 模式的 mcrypt 是使用 php 的最佳方式吗?

PHP Mysql 多次插入(大数据集)

php - 当一些子区间结果已知时如何有效地迭代

jquery - 我如何根据提示创建验证

html - 使我的元素出现在垂直对齐的行中