Php 尝试通过检查用户名是否不存在来插入新注册表时没有结果

Php 尝试通过检查用户名是否不存在来插入新注册表时没有结果,php,mysqli,Php,Mysqli,通过检查用户名是否不存在,尝试插入新寄存器时没有结果。 我试着用msql而不是msqli插入查询-也不起作用。 谁能描述一下我做错了什么 这是我的代码: <?php if (isset($_POST["submit"])) { if (!empty($_POST['user']) && !empty($_POST['pass'])) { $user = $_POST['user']; $pass = $_POST['pass'];

通过检查用户名是否不存在,尝试插入新寄存器时没有结果。 我试着用msql而不是msqli插入查询-也不起作用。 谁能描述一下我做错了什么

这是我的代码:

<?php

if (isset($_POST["submit"])) {
    if (!empty($_POST['user']) && !empty($_POST['pass'])) {
        $user = $_POST['user'];
        $pass = $_POST['pass'];
        $con = mysqli_connect("xxxxxxx", "xxxx", "xxxx", "xxxxx") or die(mysqli_error());
        mysqli_select_db($con, 'xxxxxx') or die("cannot select DB");
        mysqli_set_charset($con, 'utf8');

        if ($result = mysqli_query($con, "SELECT * FROM login WHERE username='" . $user . "'")) {
            $row_cnt = mysqli_num_rows($result);
            if ($row_cnt == 0) {
                $sql = "INSERT INTO login(username,password)VALUES('$user','$pass')";
                $query = mysqli_query($con, $sql);
                if ($query) {
                    echo "Account Successfully Created";
                } else {
                    echo "Failure!";
                }
            } else {
                echo "That username already exists! Please try again with another.";
            }

            /* close result set */
            //mysqli_free_result($result);          
        }
    } else {
        echo "All fields are required!";
    }
}
?>

那么它的回声是什么?您是否收到任何警告/错误?您是否尝试回显$query并在phpmyadmin中运行它?至少,您需要一些错误检查<代码>回显“失败!”。mysqli_错误($con)另外,请查看。当您使用MySQLi时,您无法获得带有占位符的
prepare()/execute()
所提供的安全优势。您的脚本当前易受注入攻击。除了SQL注入之外;将密码存储为纯文本是一种不好的做法,尤其是如果您让用户选择这些密码。使用一个散列和一个随机的salt。它没有回声,没有警告或错误,我已经像你说的那样尝试直接在phpmyAdmin中运行查询-已经创建了新记录。还尝试添加。mysqli_错误($con);-我什么也看不见。。页面只需重新加载自己,没有记录插入数据库。。如果我尝试用一个已存在的名称注册,我会收到“该用户名已存在!请用另一个名称重试”的回音。