html表单,PHP将数据插入数据库不工作?

时间:2016-12-23 22:03:12

标签: php sql database

当我提交表格时,我有PHP注册表单,PHP代码出现,数据没有插入数据库,我使用phpMyAdmin创建我的数据库,我该怎么办?

这是我的PHP代码:

     <?php
        $con=mysqli_connect('localhost','root','');
        $db=mysqli_select_db($con,'research_sys');
    if ($con) {
        echo "good";
        }else {
        die('error');
        }
        if(isset($_POST['submit'])){
$Fname = mysqli_real_escape_string($con,$_POST["Fname"]);
$Lname = mysqli_real_escape_string($con,$_POST["Lname"]);
$email = mysqli_real_escape_string($con,$_POST['email']);
$password = mysqli_real_escape_string($con,$_POST['password']);
    $sql =  mysqli_query($con,"INSERT INTO `research_sys`.`researcher` (Re_fname,Re_lname,Re_mobile,Re_password) values ('$Fname','$Lname','$email','$password ')");

            if (mysqli_query($sql)){
            echo "insert";
            } else {
                echo "error" .$sql ."<br>". mysqli_error($con);
                }           
}
?>

这里是我的注册HTML代码

            <form method="post" action="connect.php">
                <legend class="center">Register </legend>
                <br>
                <div>

                    <input type="text" name="Fname" placeholder="First Name"/>
                </div>
                <div>

                    <input type="text" name="Lname" placeholder="Last Name"/>
                </div>

                <div>
                    <input type="text" name="email" placeholder="Email"/>
                </div>

                <div>
                    <input type="password" name="password" placeholder="Password"/>
                </div>

                <div>
                    <input type="password" name="con_password" placeholder="Password confirm"/>
                </div>
                <input type="submit" name="submit" value="submit"/>
            </form>

1 个答案:

答案 0 :(得分:1)

请看以下内容:

$sql =  mysqli_query($con,"INSERT INTO `research_sys`.`researcher` 
        ^^^^^^^^^^^^ function

        (Re_fname,Re_lname,Re_mobile,Re_password) 
        values ('$Fname','$Lname','$email','$password ')");
                                                     ^ space

    if (mysqli_query($sql)){
        ^^^^^^^^^^^^ function

您正在使用该mysqli_query()功能两次,删除一个并执行:

if ($sql){...}

mysqli_error($con)应该会给你一个错误。

如果它没有引发错误,那么可能会建议您将其用作file:///而不是http://localhost

修改

  

&#34;我有html注册表格,我提交表格的PHP代码apears&#34;

这是因为我在引用你之前所写的内容。您需要在安装了php / mysql并正确运行的http://localhost的网络服务器上运行它。

另外,删除此'$password '中的空格。那个空间算作一个角色。

  • 仔细检查您的列名称。似乎有些内容与(Re_fname,Re_lname,Re_mobile,Re_password) Re_mobile不匹配,并且您在VALUES中引用了电子邮件'$email'

您似乎也存储纯文本密码; 不要,如果您打算上线,那就不安全了。使用password_hash()和准备好的声明。

<强>脚注:

    $con=mysqli_connect('localhost','root','');
    $db=mysqli_select_db($con,'research_sys');

您可以将其缩短为使用mysqli_connect()中的所有4个参数:

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