LastInsertId() ne marche pas
Salut tout le made
Je souhaite récupérer le LastInsertId mais….. :(
Erreur : :furieux:
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:
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:
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:
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 :) .