Извлечь количество затронутых строк и последний вставленный идентификатор, используя инструкцию PDO - PullRequest
8 голосов
/ 06 декабря 2010

Как я могу отобразить количество затронутых строк в этом:

$sql = $conn->prepare ("UPDATE countries SET country=:country");
$sql->bindValue(":country", "blablaa");
$sql->execute();

И как я могу показать последний вставленный идентификатор с этим:

$sql = $conn->prepare ("INSERT INTO countries (country) VALUES (:country)");
$sql->bindValue(":country", "test");
$sql->execute();
echo $sql->lastInsertId(); // id of last inserted

Я пытался, но получаю сообщение об ошибке с неопределенным методом PDO::lastInsertId()

Ответы [ 2 ]

12 голосов
/ 09 октября 2012

Я думаю, что это может помочь вам:

PDOStatement :: ROWCOUNT ()

возвращает количество строк, затронутых последним оператором DELETE, INSERT или UPDATE, выполненным соответствующим объектом PDOStatement. http://php.net/manual/en/pdostatement.rowcount.php

7 голосов
/ 06 декабря 2010
$sql->lastInsertId();

Необходимо заменить на

$dbh->lastInsertId();

Где $ dbh - ваш объект PDO.

См. здесь для получения дополнительной информации.

exec возвращает количество затронутых строк, execute возвращает только истинное или ложное значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...