我正在尝试使用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");
}
}
答案 0 :(得分:2)
test_input没有返回,它是一个黑洞
return $data;
最后是必需的