Salut tout le made
Je souhaite récupérer le LastInsertId mais…..
Erreur :
Fatal error: Call to a member function lastInsertId() on a non-object in F:\Program Files\EasyPHP-5.3.3\www\produit_class_UserTable.php on line 10
Fichier 1:produit_class_UserTable.php
Fichier 2 : produit_lastInsertId.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php class UserTable_produit { private $produit_lastInsertId; public function __construct($db) { } public function produit_lastInsertId() { /*line 10*/ return $this->produit_lastInsertId->lastInsertId(); /*line 10*/ } }
Fichier 3 : produit_class_MyPDO.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php require_once 'produit_class_UserTable.php'; require_once 'produit_class_MyPDO.php'; $db = new MyPDO('mysql:host=localhost;dbname=business_for_all', 'root', ''); $userTable_produit = new UserTable_produit($db); $r=$userTable_produit->produit_lastInsertId(); echo $r; ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <?php class MyPDO extends PDO { public function __construct($dsn, $user=NULL, $password=NULL) { parent::__construct($dsn, $user, $password); $this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } public function prepare($sql, $options=NULL) { $statement = parent::prepare($sql); if(strpos(strtoupper($sql), 'SELECT') === 0) //requête "SELECT" { $statement->setFetchMode(PDO::FETCH_ASSOC); } return $statement; } }
A noter que tout se passe bien, l'enregistrement est bien ajouté mais impossible de choper d'avoir le lastInsertId ...
merci.
Partager