I have the following code which i have extracted and simplified from the site. This code works fine with just a few fields
But i am unable to get lastInsertId() working, it always returns a 0
Please help
<?php
class Db {
private $host = "localhost";
private $user = "root";
private $pwd = "";
private $dbName = "cms";
public function connect() {
$dsn = 'mysql:host=' . $this->host . ';dbname=' . $this->dbName;
$pdo = new PDO($dsn, $this->user, $this->pwd);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
return $pdo;
}
}
class Jobs extends Db {
public function addJob($job_date_time, $job_type, $job_decs) {
$sql = "INSERT INTO jobs(job_date_time, job_type, job_decs) VALUES (?, ?, ?)";
$stmt = $this->connect()->prepare($sql);
$stmt->execute([$job_date_time, $job_type, $job_decs]);
$lastId = $this->connect()->lastInsertId();
echo $lastId;
}
}
$jobs = new Jobs();
$job_date_time = "2021-11-11T11:40";
$job_type = "Test Type";
$job_desc = "Test Desc";
$jobs->addJob($job_date_time, $job_type, $job_desc);