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
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 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 
 
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;
?>
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
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 .