php - 编辑行数据
问题描述
<?php
//$id = $_GET['id'];
$GLOBALS['a'] = isset($_GET['id']) ? $_GET['id'] : '';
echo "$a";
$db = mysqli_connect('localhost', 'root', '', 'ems');
if (!$db) {
die("Connection failed: " . mysqli_connect_error());
}
$first_name = "";
$last_name = "";
//$mobile = "";
$email = "";
$gender = "";
$designation_id = "";
$address = "";
$errors = array();
if (isset($_POST['reg_user'])) {
$first_name = mysqli_real_escape_string($db, $_POST['first_name']);
$last_name = mysqli_real_escape_string($db, $_POST['last_name']);
//$mobile = mysqli_real_escape_string($db, $_POST['mobile']);
$password = mysqli_real_escape_string($db, $_POST['password']);
$email = mysqli_real_escape_string($db, $_POST['email']);
$gender = mysqli_real_escape_string($db, $_POST['gender']);
$designation_id = mysqli_real_escape_string($db, $_POST['designation_id']);
$address = mysqli_real_escape_string($db, $_POST['address']);
$user_check_query = "SELECT * FROM users WHERE email='$email' LIMIT 1";
$result = mysqli_query($db, $user_check_query);
$user = mysqli_fetch_assoc($result);
if ($user) { // if user exists
if ($user['email'] === $email) {
array_push($errors, "email already exists");
}
}
// echo "$a";
$sql = "UPDATE `users` SET `first_name` = '$first_name' ,`last_name`='$last_name', `password`='$password',
`email`='$email', `gender`='$gender', `designation_id`='$designation_id',`address`='$address' WHERE `users`.`id` = '$a'";
if (mysqli_query($db, $sql)) {
mysqli_close($db);
header('Location: index.php');
echo "$a";
exit;
} else {
echo "Error updating record";
}
}
?>
在尝试通过表单更新行时,它重定向到索引页面而不更新行....没有错误..请帮助我。
在尝试通过表单更新行时,它重定向到索引页面而不更新行....没有错误..请帮助我。
解决方案
请尝试这个更新的代码。可能是问题原因是值分配不正确。所以它被移到了其他部分。现在我已将更新查询移动到 POST Check 值中。
<?php
//$id = $_GET['id'];
$id = isset($_GET['id']) ? $_GET['id'] : '';
$db = mysqli_connect('localhost', 'root', '', 'ems');
if (!$db) {
die("Connection failed: " . mysqli_connect_error());
}
$first_name = "";
$last_name = "";
//$mobile = "";
$email = "";
$gender = "";
$designation_id = "";
$address = "";
$errors = array();
if (isset($_POST['reg_user']) && $id!='') {
$first_name = mysqli_real_escape_string($db, $_POST['first_name']);
$last_name = mysqli_real_escape_string($db, $_POST['last_name']);
//$mobile = mysqli_real_escape_string($db, $_POST['mobile']);
$password = mysqli_real_escape_string($db, $_POST['password']);
$email = mysqli_real_escape_string($db, $_POST['email']);
$gender = mysqli_real_escape_string($db, $_POST['gender']);
$designation_id = mysqli_real_escape_string($db, $_POST['designation_id']);
$address = mysqli_real_escape_string($db, $_POST['address']);
$user_check_query = "SELECT * FROM users WHERE email='$email' LIMIT 1";
$result = mysqli_query($db, $user_check_query);
$user = mysqli_fetch_assoc($result);
if ($user) { // if user exists
if ($user['email'] === $email) {
array_push($errors, "email already exists");
}
}
else
{
$sql = "UPDATE `users` SET `first_name` = '$first_name' ,'last_name'='$last_name', 'password'='$password',
'email'='$email', 'gender'='$gender', 'designation_id'='$designation_id','address'='$address' WHERE `users`.`id` = '$id'";
if (mysqli_query($db, $sql)) {
mysqli_close($db);
header('Location: index.php');
exit;
} else {
echo "Error deleting record";
}
}
}
?>
推荐阅读
- python - 为什么函数中的变量不能存储我以后可以使用的值?
- typescript - TypeScript 如何将对象数组转换为具体模型?
- javascript - 使用 Jest 时 Knex 离开开放服务器(推荐)
- c# - SaveFileDialog - 如何在不打开对话框的情况下获取预选目录以保存文件
- vb.net - 表格尺寸不准确
- c++ - c++中成员函数重载的问题
- c# - 如何在不创建新的 asp.net 模型的情况下执行存储过程连接?
- angular - 组件在离子标签模板中不起作用
- string - 匹配字符串与 `char::is_ascii_alphanumeric` 失败,而 `char::is_alphanumeric` 编译
- html - 布局无法在 Chrome 中正确呈现