如何使用静态变量访问PDO中最后插入的id?

时间:2015-07-14 05:42:50

标签: php pdo

下面是我的代码。我想访问最后插入的id。由于我使用静态连接变量,它让我以这种方式访问​​它的错误:  $insertedId = $stmt->connection::$pdo->lastInsertId() ;

public function addCar()
    {
        $this->rate=$param6;
        if(!empty($this->name))
        {
        $sql="INSERT INTO car(car_name,car_maker,car_type,car_colour,num_passanger)VALUES('{$this->name}','{$this->maker}', '{$this->type}','{$this->colour}','{$this->passanger}')";
        $stmt =connection::$pdo->prepare($sql);
        $stmt->execute();
        echo "inserted id ".$insertedId = $stmt->lastInsertId() ;
        }
        //$this->rentalRate();
    }

1 个答案:

答案 0 :(得分:1)

<强>更新

使用lastInsertId()的简单方法是:

// your connection with database
$con = new PDO("mysql:host=$hostname;dbname=$dbname",$dbuser,$dbpass);

// insert query
$query = "INSERT INTO tbl_name SET col_name1 = ?, col_name2 = ?";
// '$con' is your PDO connection variable
$stmt = $con->prepare($query);
$stmt->bindParam(1, $variable1); // value for col_name1 to be stored
$stmt->bindParam(2, $variable2); // value for col_name2 to be stored
$stmt->execute();
....
// gives current inserted id 
$lastId = $con->lastInsertId(); 

在您的情况下,请尝试:$lastId = connection::$pdo->lastInsertId();