Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

problema ao obter num_rows com classe PDO em php


$stmt é do tipo PDOStatement . Essa classe não tem num_rows propriedade.

Você pode estar procurando por rowCount em vez disso, mas a documentação para isso afirma:

O longo e o curto se for isso, se você quiser realmente SELECT todos esses dados, você pode determinar com segurança quantas linhas foram retornadas iterando sobre o conjunto de resultados (ou apenas chamar fetchAll e conte os itens no array). Se você não precisar dos dados, mas apenas de um número, use SELECT COUNT em vez de.

Então, para contar as linhas sem alterar a consulta:
$result = $stmt->execute();
$rows = $stmt->fetchAll(); // assuming $result == true
$n = count($rows);