+++ /dev/null
-<?php
-
- require_once('protected/required.php');
-
- class PdoProductManager extends AbstractPdoManager {
-
- public function createProduct($product) {
-
- $query = $this -> pdo -> prepare(
- 'INSERT INTO products (name) VALUES (:name);'
- );
- $query -> bindValue(':name', $product -> getName());
- $query -> execute();
- }
-
- public function updateProduct($product) {
-
- $query = $this -> pdo -> prepare(
- 'UPDATE products
- SET name = :name
- WHERE id = :id'
- );
- $query -> bindValue(':id', $product -> getId());
- $query -> bindValue(':name', $product -> getName());
- $query -> execute();
- }
-
- public function getProduct($id) {
-
- $query = $this -> pdo -> prepare('SELECT * FROM products WHERE id = :id');
- $query -> bindValue(':id', $id);
- $query -> execute();
-
- $result = $query -> fetch(PDO::FETCH_ASSOC);
- $product = new Product($result['id'], $result['name']);
-
- $query->closeCursor();
-
- return $product;
- }
-
- public function getProductByName($name) {
-
- $query = $this -> pdo -> prepare('SELECT * FROM products WHERE name = :name');
- $query -> bindValue(':name', $name);
- $query -> execute();
-
- $result = $query -> fetch(PDO::FETCH_ASSOC);
- $product = new Product($result['id'], $result['name']);
-
- $query->closeCursor();
-
- return $product;
- }
-
- public function getProducts() {
-
- $query = $this -> pdo -> prepare('SELECT * FROM products');
- $query -> execute();
-
- $results = $query -> fetchAll(PDO::FETCH_ASSOC);
- $products = array();
- foreach ($results as $result) {
- $products[] = new Product($result['id'], $result['name']);
- }
-
- $query->closeCursor();
-
- return $products;
- }
-
- public function getNamesOfProducts() {
-
- $query = $this -> pdo -> prepare('SELECT name FROM products');
- $query -> execute();
-
- $results = $query -> fetchAll(PDO::FETCH_ASSOC);
- $names = array();
- foreach ($results as $result) {
- $names[] = $result['name'];
- }
-
- $query->closeCursor();
-
- return $names;
- }
-
- public function removeProduct($product) {
-
- $query = $this -> pdo -> prepare('DELETE FROM products WHERE id = :id');
- $query -> bindValue('id', $product -> getId());
- $query -> execute();
- }
-
- }