diff --git a/script/Connection.php b/script/Connection.php new file mode 100644 index 0000000..d46fbd7 --- /dev/null +++ b/script/Connection.php @@ -0,0 +1,32 @@ +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); +} + + +/** * @param string $query + * @param array $parameters * + * @return bool Returns `true` on success, `false` otherwise +*/ + +public function executeQuery(string $query, array $parameters = []) : bool{ + $this->stmt = parent::prepare($query); + foreach ($parameters as $name => $value) { + $this->stmt->bindValue($name, $value[0], $value[1]); + } + + return $this->stmt->execute(); +} + +public function getResults() : array { + return $this->stmt->fetchall(); + +} +} + +?> diff --git a/script/user.php b/script/user.php index 7ec2b09..1a907c9 100644 --- a/script/user.php +++ b/script/user.php @@ -1,13 +1,11 @@ id = $identify; + function __construct(string $pseudo, string $password, string $image, string $mail) { $this->username = $pseudo; $this->passwd = $password; $this->img = $image; diff --git a/script/userGateway.php b/script/userGateway.php new file mode 100644 index 0000000..6aa1478 --- /dev/null +++ b/script/userGateway.php @@ -0,0 +1,30 @@ +con=$con; + } + + public function insert(USer $u):int{ + + // récupération id + $query='SELECT id_user FROM Users WHERE id_user >= ALL (SELECT id_user FROM User);'; + $this->con->executeQuery($query); + $result=$this->con->getResults(); + $id=$result['id_user'] + 1; + + // insertion user + $query='INSERT INTO Users VALUES (id=:id,username=:username,email=:email,passwd=:passwd,CURRENT_DATE);'; + $this->con->executeQuery($query,array(':id' => array($id,PDO::PARAM_INT),':username' => array($u->username,PDO::PARAM_STR),':email' => array($u->email,PDO::PARAM_STR),':passwd' => array($u->passwd,PDO::PARAM_STR))); + return $this->con->lastInsertId(); + } +} + +$u = new User("Test","1234","none","test@gmail.com"); +$uG = new UserGateway(new Connection("mysql:host=localhost;dbname=dbkemondejar","","")); +$uG->insert($u); +?> \ No newline at end of file