remotes/origin/master
kevin.modejar 7 months ago
parent 4f52d41603
commit 7c57f0adcf

@ -0,0 +1,32 @@
<?php
class Connection extends PDO {
private $stmt;
public function __construct(string $dsn, string $username, string $password) {
parent::__construct($dsn,$username,$password);
$this->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();
}
}
?>

@ -1,13 +1,11 @@
<?php <?php
class User{ class User{
public string $id;
public string $username; public string $username;
public string $passwd; public string $passwd;
public string $img; public string $img;
public string $email; public string $email;
function __construct(string $identify, string $pseudo, string $password, string $image, string $mail) { function __construct(string $pseudo, string $password, string $image, string $mail) {
$this->id = $identify;
$this->username = $pseudo; $this->username = $pseudo;
$this->passwd = $password; $this->passwd = $password;
$this->img = $image; $this->img = $image;

@ -0,0 +1,30 @@
<?php
include('Connection.php');
include('user.php');
Class UserGateway{
private Connection $con;
public function __construct(Connection $con){
$this->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);
?>
Loading…
Cancel
Save