【发布时间】:2021-04-22 23:23:52
【问题描述】:
我目前有一个准备好的语句,它通过准备好的语句 (PHP) 将 HTML 表单中的数据放入 SQL 数据库。
这里的问题;一个字段在放入数据库后仍然为空。 'gender' 字段,它是一个 ENUM(M,F,O)。其余的则填充了正确的数据。
我有什么办法可以将性别与其他数据一起放入表格中?
相关的 HTML:
<input type="radio" id="man" name="gender" value="man">
<label for="man">Man</label>
<input type="radio" id="woman" name="gender" value="woman">
<label for="woman">Woman</label>
<input type="radio" id="other" name="gender" value="other">
<label for="other">Other</label>
PHP:
$firstname= htmlentities($_POST['firstname'], ENT_QUOTES);
$lastname= htmlentities($_POST['lastname'], ENT_QUOTES);
$gender= htmlentities($_POST['gender'], ENT_QUOTES);
$birthdate= preg_replace("([^0-9-])", "", $_POST['birthday'], ENT_QUOTES);
$email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
$portfolio = filter_var($_POST['portfolio'], FILTER_SANITIZE_URL);
$query = "INSERT INTO `table` (`firstname`, `lastname`, `gender`, `birthdate`, `email`, `portfolio`)
VALUES (?, ?, ?, ?, ?, ?)";
mysqli_stmt_bind_param($stmt, "ssssss", $firstname, $lastname, $gender, $birthdate, $email, $portfolio);
mysqli_stmt_execute($stmt);
$prepstmt = mysqli_stmt_get_result($stmt);
【问题讨论】:
-
保存到数据库时不要使用
htmlentities()。这应该只在网页上显示文本时使用。 -
您尝试过什么解决问题的方法?你被困在哪里了?您是否检查过您是否发送了正确数据?