con = $con; } public function findByName(String $name){ try{ $query = "SELECT * FROM Vocabulary v WHERE v.name = :name"; $args = array(':name'=>array($name,PDO::PARAM_STR)); $this->con->ExecuteQuery($query,$args); $res = $this->con->getResults(); $tab_vocab=[]; foreach($res as $r){ $tab_vocab[]=new Vocabulary($r['id'],$r['name'],$r['image'],$r['creator']); } Return $tab_vocab; } catch(PDOException $e ){ error_log('PDOException: ' . $e->getMessage(), 3, 'error.log'); } } public function addVocab(int $id, String $name, String $img, int $aut):void{ try{ $query = "INSERT INTO Vocabulary values(:id,:name,:img,:aut)"; $args = array(':id'=>array($id,PDO::PARAM_INT), ':name'=>array($name,PDO::PARAM_STR), ':img'=>array($img,PDO::PARAM_STR), ':aut'=>array($aut,PDO::PARAM_INT)); $this->con->ExecuteQuery($query,$args); } catch (\PDOException $e){ error_log('PDOException: ' . $e->getMessage(), 3, 'error.log'); } } public function delVocabById(int $id):void{ try{ $query = "DELETE FROM Vocabulary v WHERE v.id=:id "; $args = array(':id'=>array($id,PDO::PARAM_INT)); $this->con->ExecuteQuery($query,$args); } catch (\PDOException $e){ error_log('PDOException: ' . $e->getMessage(), 3, 'error.log'); } } public function ModifVocabById(int $id, String $name,String $img,String $aut):void{ try{ $query = "UPDATE Vocabulary SET name=:name, image=:img, creator=:aut WHERE id=:id"; $args = array(':id'=>array($id,PDO::PARAM_INT), ':name'=>array($name,PDO::PARAM_STR), ':img'=>array($img,PDO::PARAM_STR), ':aut'=>array($aut,PDO::PARAM_INT)); $this->con->ExecuteQuery($query,$args); } catch (\PDOException $e){ error_log('PDOException: ' . $e->getMessage(), 3, 'error.log'); } } } /* $con = new Connection('mysql:host=localhost;dbname=project','root',''); $g = new VocabularyGateway($con); print_r($g->findByName('gogo')); echo "
avant
"; $g->addVocab(3,"gogo","img",2); $g->addVocab(4,"gogo","img",2); echo"apres
"; print_r($g->findByName('gogo')); echo"
suppression normalement
"; $g->delVocabById(3); print_r($g->findByName('gogo')); echo "
modifié normalement
"; $g->ModifVocabById(4,"changer","new_img",4); print_r($g->findByName('gogo')); print_r($g->findByName('changer')); */