【发布时间】:2018-01-26 17:22:06
【问题描述】:
我有一个表单,用户可以通过输入学生的用户名来更新学生。但是如果用户只想更新名字并将姓氏留空,这将从 mysql 数据库中删除姓氏。
html表单:
<form class="" action="updateStudent.php" method="post">
Username: <input type="text" name="username" value="">
Firstname: <input type="text" name="firstname" value="">
Lastname: <input type="text" name="lastname" value="">
<input type="submit" name="" value="Update">
</form>
php:
<?php
include('connection.php');
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$username = $_POST['username'];
$sql = "update employee set firstname = '$firstname',
lastname = '$lastname',
where username = '$username'";
if ($conn->query($sql) === TRUE) {
echo "Record updated successfully";
}
else{
echo "error: $sql. " . mysqli_error($conn);
}
mysqli_close($conn);
?>
如何更改我的代码,以便当用户只想更改名字并保留姓氏时,它最终不会在数据库中为空?
【问题讨论】:
-
更新前请检查姓氏是否为空。
-
或者在你的表单中你应该加载当前数据之前
-
检查
$_POST['lastname'] != ' ' || strlen($_POST['lastname']) > $someValue,如果你希望它不是空的或者有一定长度的姓氏,那么如果那个条件适用你的查询是$sql = "update employee set firstname = '$firstname', where username = '$username'";否则$sql = "update employee set firstname = '$firstname', lastname = '$lastname', where username = '$username'";