Php 编辑行数据
请尝试此更新的代码。问题原因可能是值分配不正确。这样它就可以移动到其他部分。现在,我已将更新查询移动到POST Check值内Php 编辑行数据,php,mysql,Php,Mysql,请尝试此更新的代码。问题原因可能是值分配不正确。这样它就可以移动到其他部分。现在,我已将更新查询移动到POST Check值内 <?php //$id = $_GET['id']; $GLOBALS['a'] = isset($_GET['id']) ? $_GET['id'] : ''; echo "$a"; $db = mysqli_connect('localhost', 'root', '', 'ems'); if (!$db) { die("Connection fai
<?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";
}
}
?>
这不是错误,而是您的消息,意思是否则部分执行
。如果查询中出现错误,请打印查询并在sql上运行,以使其出现给定错误或运行更新记录。您正在混合反勾号`
"es'
<代码>'password'
将被视为字符串而不是列名。Sougata Bose…更新了bro…没有错误,但行未更新请在代码中添加您更新的内容,为什么要尝试此代码?如果值分配不正确
?如果$\u POST['reg\u user']返回空或$\u GET['id']值为空它不处理更新查询。$id正在回显…因此$\u GET['id']没有问题。好的,首先用exit打印sql查询。然后直接运行对Phpmyadmin的查询。检查是否返回任何错误消息。例如:echo$sql;出口
<?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";
}
}
}
?>