По какой-то причине я не могу получить LastInsertId
из вставки PDO
. Я ничего не получаю в ответ, если я помещу его в выполнение, я получу -1, потому что запрос на вставку не был запущен. Однако, когда сразу после выполнения для захвата последнего вставленного идентификатора ничего не возвращается.
php 5.1.6
PECL pdo = 0.1.0
Я рассмотрел следующие вопросы и многие другие вопросы по обмену стеками.
- lastInsertId не работает в Postgresql
- PDO lastInsertId() возвращает 0
- проблемы PDO lastInsertId, php
Однако разница в том, что ничего не возвращается по сравнению с 0. Ошибки также не фиксируются. См. код ниже.
Подключение
try {
$conn = new PDO("pgsql:host=localhost port= dbname=", "", "");
echo "PDO connection object created";
}
catch(PDOException $e) {
echo $e->getMessage();
}
вставить/вернуть последний идентификатор
$stmt = $conn ->prepare("INSERT INTO sheet_tbl (site_id, username, additionalvolunteers) VALUES(?,?,?)");
$stmt->bindParam(1,$site_id);
$stmt->bindParam(2,$username1);
$stmt->bindParam(3,$additionalvolunteers);
$site_id = $_POST['site_id'];
$username1 = $user->name;
$additionalvolunteers = $_POST['additionalvolunteers'];
$stmt ->execute();
$newsheetID = $conn->lastInsertId('sheet_id');
echo $newsheetID . "last id";