使用wamp服务器通过php将表单数据输入数据库

使用wamp服务器通过php将表单数据输入数据库,php,mysql,database,Php,Mysql,Database,我试图使用PHP将表单中的数据放入wamp服务器的MySQL数据库。我完成了所有操作,按下提交按钮后,屏幕上会显示“失败” 以下是PHP代码: <?php $con = mysqli_connect('localhost', 'root', '', 'bse3a'); if (isset($_POST['submit'])) { $fName = $_POST['first_name']; $lName = $_POST['las

我试图使用PHP将表单中的数据放入wamp服务器的MySQL数据库。我完成了所有操作,按下提交按钮后,屏幕上会显示“失败”

以下是PHP代码:

<?php

    $con = mysqli_connect('localhost', 'root', '', 'bse3a');

    if (isset($_POST['submit']))
    {
        $fName = $_POST['first_name'];
        $lName = $_POST['last_name'];
        $email = $_POST['email'];
        $password= $_POST['password'];
        $rPassword= $_POST['re_password'];
        $phone = $_POST['phone_number'];
        $dob = $_POST['birth_date'];
        $gender = $_POST['gender'];

        $query = "insert into  students(fName,lName,email,password,rPassword,phone,dob,gender) values ('$fName', '$lName', '$email', '$password', '$rPassword', '$phone', '$dob', '$gender')";

        if(mysqli_query($con,$query)){
            echo "Register successfully";
        }
        else {
            echo "failed";
        }

    }

?>

虽然没有足够的信息来调试您的案例,但您应该显示最后一个错误,以了解其不起作用的原因

//in fail case
echo("Error description: " . mysqli_error($con));

然后更新您的问题。

您只连接到数据库,但根本不进行任何查询
$query
只是一个普通的PHP字符串,因此当您执行
if($query)
时,它将始终计算为true(因为字符串不是空的)。要实际执行查询,您需要使用我建议您阅读一些PHP+MySQL教程。我还建议使用PDO而不是MySQLi。它有一个更详细的API,这使它更易于使用。此外,您也不应该在查询中直接使用完全未经扫描的用户数据,否则您将面临攻击。您应该仔细阅读带有占位符的准备好的语句。你可以在MySQLi和PDO中使用它。是的。。我使用mysqli_connect(),它可以工作。但现在,它显示“失败”的可能重复的从来没有存储在纯文本密码!您应该始终使用哈希值对密码进行哈希,并且只存储哈希值。然后,您可以使用验证密码是否符合哈希。也没有理由在数据库中使用列
rPassword
。“重复密码”字段基本上只是用于验证密码(以确保用户在第一次输入密码时没有输入错误)