setNumber($id); return $this->getRow($sqlQuery); } /** * Get all records from table */ public function queryAll(){ $sql = 'SELECT * FROM books'; $sqlQuery = new SqlQuery($sql); return $this->getList($sqlQuery); } /** * Get all records from table ordered by field * * @param $orderColumn column name */ public function queryAllOrderBy($orderColumn){ $sql = 'SELECT * FROM books ORDER BY '.$orderColumn; $sqlQuery = new SqlQuery($sql); return $this->getList($sqlQuery); } /** * Delete record from table * @param books primary key */ public function delete($id){ $sql = 'DELETE FROM books WHERE id = ?'; $sqlQuery = new SqlQuery($sql); $sqlQuery->setNumber($id); return $this->executeUpdate($sqlQuery); } /** * Insert record to table * * @param BooksMySql books */ public function insert($books){ $sql = 'INSERT INTO books (image, name, year, month) VALUES (?, ?, ?, ?)'; $sqlQuery = new SqlQuery($sql); $sqlQuery->set($books->image); $sqlQuery->set($books->name); $sqlQuery->setNumber($books->year); $sqlQuery->setNumber($books->month); $id = $this->executeInsert($sqlQuery); $books->id = $id; return $id; } /** * Update record in table * * @param BooksMySql books */ public function update($books){ $sql = 'UPDATE books SET image = ?, name = ?, year = ?, month = ? WHERE id = ?'; $sqlQuery = new SqlQuery($sql); $sqlQuery->set($books->image); $sqlQuery->set($books->name); $sqlQuery->setNumber($books->year); $sqlQuery->setNumber($books->month); $sqlQuery->setNumber($books->id); return $this->executeUpdate($sqlQuery); } /** * Delete all rows */ public function clean(){ $sql = 'TRUNCATE TABLE books'; $sqlQuery = new SqlQuery($sql); return $this->executeUpdate($sqlQuery); } /** * Read row * * @return BooksMySql */ protected function readRow($row){ $books = new Books(); $books->id = $row['id']; $books->image = $row['image']; $books->name = $row['name']; $books->year = $row['year']; $books->month = $row['month']; return $books; } protected function getList($sqlQuery){ $tab = QueryExecutor::execute($sqlQuery); $ret = array(); for($i=0;$ireadRow($tab[$i]); } return $ret; } /** * Get row * * @return BooksMySql */ protected function getRow($sqlQuery){ $tab = QueryExecutor::execute($sqlQuery); return $this->readRow($tab[0]); } /** * Execute sql query */ protected function execute($sqlQuery){ return QueryExecutor::execute($sqlQuery); } /** * Execute sql query */ protected function executeUpdate($sqlQuery){ return QueryExecutor::executeUpdate($sqlQuery); } /** * Insert row to table */ protected function executeInsert($sqlQuery){ return QueryExecutor::executeInsert($sqlQuery); } } ?>