par
Saian » 28 mai 2019, 13:19
Ok, ta classe connexionDB utilise PDO et dans PDO tu as la méthode lastInsertId.
https://www.php.net/manual/fr/pdo.lastinsertid.php
Tu peux donc modifier la class connexionDB et pour rester simple je ferais ça :
public function insert($sql, $data = array()){
$req = $this->connexion->prepare($sql);
$req->execute($data);
return $this->connexion->lastInsertId();
}
$id = $DB->insert('INSERT INTO utilisateur (nom, prenom, tel, mail, mdp, date_creation_compte) VALUES
( ?, ?, ?, ?, ?, ?)',
array($nom, $prenom, $tel, $mail, $mdp, $date_creation_compte));
EDIT : tu pourrais même faire un peu de gestion d'erreur :
public function insert($sql, $data = array()){
$req = $this->connexion->prepare($sql);
$req->execute($data);
return $req->execute($data) ? $this->connexion->lastInsertId() : false;
}
public function getError() {
return $this->connexion->errorInfo()[2];
}
$id = $DB->insert('INSERT INTO utilisateur (nom, prenom, tel, mail, mdp, date_creation_compte) VALUES
( ?, ?, ?, ?, ?, ?)',
array($nom, $prenom, $tel, $mail, $mdp, $date_creation_compte));
if (!$id) {
echo 'Insert error : '.$DB->getError();
exit();
}
Ok, ta classe connexionDB utilise PDO et dans PDO tu as la méthode lastInsertId.
https://www.php.net/manual/fr/pdo.lastinsertid.php
Tu peux donc modifier la class connexionDB et pour rester simple je ferais ça :
[PHP]public function insert($sql, $data = array()){
$req = $this->connexion->prepare($sql);
$req->execute($data);
return $this->connexion->lastInsertId();
}[/PHP]
[PHP]
$id = $DB->insert('INSERT INTO utilisateur (nom, prenom, tel, mail, mdp, date_creation_compte) VALUES
( ?, ?, ?, ?, ?, ?)',
array($nom, $prenom, $tel, $mail, $mdp, $date_creation_compte));[/PHP]
EDIT : tu pourrais même faire un peu de gestion d'erreur :
[PHP]public function insert($sql, $data = array()){
$req = $this->connexion->prepare($sql);
$req->execute($data);
return $req->execute($data) ? $this->connexion->lastInsertId() : false;
}
public function getError() {
return $this->connexion->errorInfo()[2];
}[/PHP]
[PHP]
$id = $DB->insert('INSERT INTO utilisateur (nom, prenom, tel, mail, mdp, date_creation_compte) VALUES
( ?, ?, ?, ?, ?, ?)',
array($nom, $prenom, $tel, $mail, $mdp, $date_creation_compte));
if (!$id) {
echo 'Insert error : '.$DB->getError();
exit();
}[/PHP]