PDOStatement :: rowCount
PDOStatement :: rowCount - Devuelve la instrucción SQL que se encuentra en un número de filas afectadas (PHP 5> = 5.1.0, PECL pdo> = 0.1.0)
explicación
gramática
int PDOStatement::rowCount ( void )
PDOStatement :: rowCount () devuelve un DELETE, INSERT o UPDATE afectó el número de líneas ejecutadas por el objeto PDOStatement correspondiente.
Si la sentencia de SQL ejecutada por un PDOStatement asociado era una instrucción SELECT, algunos datos pueden devolver el número de filas devueltas por esta declaración. Sin embargo, este método no puede garantizar que todos los datos son válidos, y para aplicaciones portátiles no debe confiar en este método.
Valor de retorno
Devuelve el número de filas.
Ejemplos
Devuelve el número de filas eliminadas
PDOStatement :: rowCount () devuelve el número de filas afectadas por DELETE, INSERT, UPDATE o declaración de impacto.
<?php /* 从 FRUIT 数据表中删除所有行 */ $del = $dbh->prepare('DELETE FROM fruit'); $del->execute(); /* 返回被删除的行数 */ print("Return number of rows that were deleted:\n"); $count = $del->rowCount(); print("Deleted $count rows.\n"); ?>
El ejemplo anterior de salida:
Return number of rows that were deleted: Deleted 9 rows.
Calculado por el número de filas devueltas por una instrucción SELECT
Para la mayoría de las bases de datos, PDOStatement :: rowCount () no devuelve el número de filas afectadas por una instrucción SELECT. Un método alternativo es usar PDO :: query () con la intención de emitir una instrucción SELECT en el SELECT COUNT misma condición expresión (*) declaración, y luego usar PDOStatement :: fetchColumn () para obtener el número de filas devueltas. Para que la aplicación se puede ejecutar correctamente.
<?php $sql = "SELECT COUNT(*) FROM fruit WHERE calories > 100"; if ($res = $conn->query($sql)) { /* 检查符合 SELECT 语句的行数 */ if ($res->fetchColumn() > 0) { /* 发出一条真正的 SELECT 语句并操作返回的结果 */ $sql = "SELECT name FROM fruit WHERE calories > 100"; foreach ($conn->query($sql) as $row) { print "Name: " . $row['NAME'] . "\n"; } } /* 没有匹配的行 -- 执行其他 */ else { print "No rows matched the query."; } } $res = null; $conn = null; ?>
La salida del ejemplo anterior es:
apple banana orange pear