السلام عليكم

عندى function (update) استخدمها لتحديث البيانات فى mysql

لما استخدمها فى تعديل حقل واحد تشتغل بدون مشكلة

لما استخدمها فى تعديل اكثر من حقل تدخل فى كل الحقول اخر قيمة

المكشلة كما فى الصورة http://postimg.org/image/z1kv5jh9j/

والكود المستخدم

<?php

public function query($sql, $fields = array()){

    if($this->_query = $this->_pdo->prepare($sql)){
        $i = 1;
        if($i <= count($fields)){
            foreach ($fields as $param){
                $this->_query->bindParam($i, $param);
                $i++;
            }
        }
        //die($sql);
        if($this->_query->execute()){
            return $this->_query;
        }

    }

}

public function Update($tbl_name, $fields = array(),$id){
    $set = '';
    $x = 1;
    $bindvalues = array_values($fields);
    foreach ($fields as $columns => $values) {
        $set .= "`{$columns}` =?";
        if ($x < count($fields)){
            $set .= ", ";
        }
        $x++;
    }

    $id = intval($id);
    $sql = "UPDATE `{$tbl_name}` SET {$set} WHERE `id`={$id} ";
    //die($sql);
    if($this->query($sql,$fields) == true){
        echo "Data updated Successfully";
    }
}

?>