PHP mysqli_query未显示在数据库

时间:2016-01-07 21:11:00

标签: php mysql mysqli

我正在尝试使用PHP和mysqli将数据输入到数据库中。没有错误并且代码运行,但是当我查看数据库时,它表示已经添加了一行但是列#34;用户名"和#34;密码"是空的。

$sql = "INSERT INTO $table (usernames, passwords) VALUES ('$username','$password')";
if(mysqli_query($db, $sql)) {
    echo "new user successfully created";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($db);
}

我认为上面有问题,但我不确定它是什么
编辑:我认为问题在于$username$password没有任何价值。它可能与以下代码有关:

    if ($_SERVER["REQUEST_METHOD"] == "POST") { //remove whitespace, slashes, and unnecessary characters
    $username = test_input($_POST["username"]);
    $password = test_input($_POST["password"]);
}

function test_input($data) { //function to remove unnecessary characters
    if($data != trim($data)) {
        die("error: there is an unnacceptable character in your username or password");
    }
    if($data != stripslashes($data)) {
        die("error: you cannot have slashes");
    }
    if($data != htmlspecialchars($data)) {
        die("error: password not accepted");
    }
}

1 个答案:

答案 0 :(得分:2)

test_input没有返回,它是一个黑洞

return $data;

最后是必需的