即使查询看起来还不错,也无法更新数据。
在代码中同时使用PDO和Prepared Statment,标头位置可以正常工作并重定向我,但是phpmyadmin中的数据没有闪烁,因此假设查询存在问题。
执行方式错误还是查询有问题
Employee.php
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
class employees{
function __construct(){
try {
$this->con= new PDO("mysql:host=o7;dbname=dhruv_thakkar", 'dhruv_thakkar', 'd70');
$this->con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
}
function update_employee($eid,$name,$email,$password,$birth_date,$gender,$postcode,$phno,$street_address,$country,$state,$city){
$d1 = date('Y-m-d',(strtotime($birth_date)));
/*image shit */
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["imageUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
if (move_uploaded_file($_FILES["imageUpload"]["tmp_name"], $target_file)) {
}
$image=basename($_FILES["imageUpload"]["name"],".jpg");
if(!empty($image))
{
$sql= $this->con->prepare( "UPDATE `employees` SET name=':name',email=':email',password=':password',street_address=':street_address',
postcode=':postcode',phone_number=':phno',birth_date=':d1',
city=':city',state=':gender',country=':country',gender=':gender',profile_pic=':image' WHERE emp_id=':eid'");
}
else {
$sql= $this->con->prepare( "UPDATE `employees` SET name=':name',email=':email',password=':password',street_address=':street_address',
postcode=':postcode',phone_number=':phno',birth_date=':d1',
city=':city',state=':gender',country=':country',gender=':gender' WHERE emp_id=':eid'");
}
$sql->bindParam(':name', $name);
$sql->bindParam(':email', $email);
$sql->bindParam(':gender', $gender);
$sql->bindParam(':password', $password);
$sql->bindParam(':street_address', $street_address);
$sql->bindParam(':postcode', $postcode);
$sql->bindParam(':phno', $phno);
$sql->bindParam(':image', $image);
$sql->bindParam(':d1', $d1);
$sql->bindParam(':country', $country);
$sql->bindParam(':state', $state);
$sql->bindParam(':city', $city);
$sql->bindParam(':eid', $eid);
$sql->execute();
header('location:admin.php');
$this->con= null;
}
}
$obj= new employees();
?>