首页 > 解决方案 > 更新查询显示成功,但未更新表中的数据

问题描述

我的以下查询显示“已成功更新员工记录”,但未在表中更新我的代码有什么问题

{
$eid=intval($_GET['uin']);
$uin=$_POST['uin'];
$fname=$_POST['firstName'];
$lname=$_POST['lastName'];   
$email=$_POST['email']; 
$department=$_POST['department']; 
$recoffr=$_POST['recoffr']; 
$mobileno=$_POST['mobileno'];
$sql="
update tblemployees 
   set FirstName = :fname
     , LastName = :lname
     , email = :email
     , department = :department
     , recoffr = :recoffr
     , Phonenumber = :mobileno 
 where uin = :eid
";
$query = $dbh->prepare($sql);
$query->bindParam(':uin',$uin,PDO::PARAM_STR);
$query->bindParam(':fname',$fname,PDO::PARAM_STR);
$query->bindParam(':lname',$lname,PDO::PARAM_STR);
$query->bindParam(':email',$email,PDO::PARAM_STR);
$query->bindParam(':department',$department,PDO::PARAM_STR);
$query->bindParam(':recoffr',$recoffr,PDO::PARAM_STR);
$query->bindParam(':mobileno',$mobileno,PDO::PARAM_STR);
$query->execute();
$msg="Employee record updated Successfully";

}

标签: phpmysql

解决方案


您在查询中的where之后的最后一个参数中存在问题。您在查询中使用eid参数,同时使用uin绑定参数。

更新您的这行代码。

$query->bindParam(':uin',$uin,PDO::PARAM_STR);

对此:

$query->bindParam(':eid',$uin,PDO::PARAM_STR);

此外,您没有在代码中的任何地方使用$eid变量。


推荐阅读