public function performUpdate(UpdateObject $updateObj) { $fields = $updateObj->getFields(); $values = $updateObj->getValues(); if (count($fields) != count($values)) { return false; } $setQuery = array(); for ($i = 0; $i < count($fields); $i++) { if ($values[$i] === null) { $setQuery[] = $fields[$i] . "=NULL "; } else { $setQuery[] = $fields[$i] . "='" . $values[$i] . "' "; } } $out = "UPDATE " . $updateObj->getTable() . " "; $out .= "SET " . implode(",", $setQuery) . " "; $out .= "WHERE " . $updateObj->getWhereSentence() . " "; Logger::log($out, __FILE__, __CLASS__, __METHOD__, __LINE__); $res = $this->connection->performQuery($out); if (!$res) { return false; } return pg_affected_rows($res) > 0; }