/** @return PDOStatement */ function query($start = null, $count = null) { $sql = $this->getSql($start, $count); $sql = preg_replace('/^SELECT /i', 'SELECT SQL_CALC_FOUND_ROWS ', $sql); $ret = $this->db->queryResultOnly($sql); $this->foundRows = $this->db->selectCell("SELECT FOUND_ROWS()"); return $ret; }
public function editTargetOperation($target_bill_id, $money, $date, $target_id, $bill_id, $comment, $close) { if ((int) $target_bill_id == 0) { $sql = "SELECT b.id FROM target_bill b WHERE b.target_id =? ORDER BY b.dt_create ASC LIMIT 1"; $target_bill_id = $this->db->selectCell($sql, $target_id); } if ((int) $bill_id == 0) { trigger_error("Указанный счёт '{$bill_id}' не существует. ", E_USER_ERROR); return false; } if ((int) $target_id == 0) { trigger_error("Указанная финансовая цель '{$target_id}' не существует. ", E_USER_ERROR); return false; } if (!is_float($money) && (int) $money == 0) { trigger_error("Указано не число", E_USER_WARNING); return false; } $comment = strip_tags($comment); //$date = formatRussianDate2MysqlDate($date); $this->db->query("UPDATE target_bill SET bill_id=?, money=?, date=?, comment=?\n WHERE id=? AND user_id=? LIMIT 1;", $bill_id, $money, $date, $comment, $target_bill_id, Core::getInstance()->user->getId()); if (!empty($close)) { $this->db->query("UPDATE target SET close=1 WHERE user_id=? AND id=?", Core::getInstance()->user->getId(), $target_id); } $this->staticTargetUpdate($target_id); return true; }
public function insert(array $values, $returnInserted = false) { $this->_db->query("INSERT INTO {$this->_table} SET ?a", $values); return $returnInserted ? $this->_db->selectRow("SELECT * FROM {$this->_table} WHERE ?#=LAST_INSERT_ID()", $this->_key) : $this->_db->selectCell("SELECT LAST_INSERT_ID()"); }
/** * Проверяет уникальность служебной почты * @param string $mail * @return bool */ public function checkServiceEmailIsUnique($mail) { $sql = "SELECT user_service_mail FROM users WHERE user_service_mail=? AND id != ? LIMIT 1;"; return !(bool) $this->db->selectCell($sql, $mail, $this->user_id); }
/** * Возвращает количество операций по ID категории * * @param oldUser $user Ссылка на объект пользователя * @param int $categoryId Ид категории которую нужно удалить * @return int Количество операций по категории пользователя */ function getCountOperationByCategory(oldUser $user, $categoryId = 0) { $sql = "SELECT COUNT(id) FROM operation WHERE cat_id IN (\n SELECT cat_id FROM category WHERE user_id=? AND (cat_id=? OR cat_parent=?))"; return (int) $this->db->selectCell($sql, $user->getId(), $categoryId, $categoryId); }