PDOStatement::rowCount — Retorna o número de linhas afetadas pela instrução SQL anterior (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
int PDOStatement::rowCount (void)
PDOStatement::rowCount() Retorna o número de linhas afetadas pela última instrução DELETE, INSERT ou UPDATE executada pelo objeto PDOStatement correspondente.
Se a última instrução SQL executada pelo PDOStatement relacionado foi uma instrução SELECT, alguns dados poderão retornar o número de linhas retornadas por esta instrução. No entanto, não é garantido que esta abordagem funcione para todos os dados e não deve ser utilizada para aplicações portáteis.
Retorna o número de linhas.
PDOStatement::rowCount() Retorna o número de linhas afetadas por uma instrução DELETE, INSERT ou UPDATE.
<?php/* Excluir todas as linhas da tabela de dados FRUIT*/$del = $dbh->prepare('DELETE FROM fruta');$del->execute();/* Retornar o número de linhas excluídas*/print ("Retorna o número de linhas que foram excluídas:n");$count = $del->rowCount();print("$count linhas excluídas.n");?>
O exemplo de saída acima:
Retornar o número de linhas que foram excluídas: 9 linhas excluídas.
Para a maioria dos bancos de dados, PDOStatement::rowCount() não pode retornar o número de linhas afetadas por uma instrução SELECT. Como alternativa, use PDO::query() para emitir uma instrução SELECT COUNT(*) com a mesma expressão condicional da instrução SELECT originalmente pretendida e, em seguida, use PDOStatement::fetchColumn() para buscar a próxima linha. Desta forma, o aplicativo pode ser executado corretamente.
<?php$sql = "SELECT COUNT(*) FROM fruta WHERE calorias > 100";if ($res = $conn->query($sql)) { /* Verifica o número de linhas que correspondem à instrução SELECT*/ if ($ res->fetchColumn() > 0) { /* Emita uma instrução SELECT real e opere nos resultados retornados*/ $sql = "SELECT nome FROM fruta WHERE calorias > 100"; foreach ($conn->query($sql) as $row) { print "Name: " . $row['NAME'] . "n"; } } /* Nenhuma linha correspondente - - Execute other */ else { print "Nenhuma linha corresponde à consulta.";
O resultado de saída do exemplo acima é:
maçãbananalaranjapêra