//* //* Updates $item (assoc array) to DB table $table, if needed. //* function Sql_Update_Item($item,$where,$datas=array(),$table="",$force=False,$pretend=False) { $query=$this->Sql_Update_Item_Query($item,$where,$datas,$table,$force); array_push($this->ApplicationObj()->Sql_Update_Queries,$query); if ($pretend) { return $query; } if (!empty($query)) { $res=$this->DB_Query($query); return $query; } else { return -1; } } //* //* Updates $item (assoc array) to DB table $table, if needed. //* function Sql_Update_Item_Query($item,$where,$datas=array(),$table="",$force=False) { if (is_array($where)) { $where=$this->Hash2SqlWhere($where); } if (empty($datas)) { $datas=array_keys($item); } $olditem=$this->Sql_Select_Hash($where,$datas,FALSE,$table); $query=""; $nchanges=0; foreach ($datas as $key) { $value=$item[ $key ]; $value=preg_replace('/\'/',"''",$value); if ( $force || ( isset($olditem[ $key ]) && $value!=$olditem[ $key ] ) ) { $query.= $this->Sql_Table_Column_Name_Qualify($key). "=". $this->Sql_Table_Column_Value_Qualify($value). ", "; $nchanges++; } } if ($nchanges>0) { $query=preg_replace('/,\s$/',"",$query); $query="UPDATE ". $this->Sql_Table_Name_Qualify($table). " SET ". $query. " WHERE ". $where; } return $query; }