是否可以从一个PDO函数返回行以及行数?

时间:2013-04-13 23:04:24

标签: php pdo count prepared-statement

我想从一个准备好的PDO语句中获取返回的行数以及实际行,这可能吗?

我正在使用PHP 5+和Mysql。

例如:

global $dbh
$query = "SELECT title, date, title, description
        FROM posts
        WHERE title LIKE '%foo%'
        ORDER BY date
        DESC";

$stmt->prepare($query);
$stmt-execute();

$count = count($stmt->rowCount());
$searcharray = $stmt->fetchAll(PDO::FETCH_ASSOC);

return array($count, $searcharray);

2 个答案:

答案 0 :(得分:0)

按要求,回答表格。 ^^

将代码更改为:

global $dbh
$query = "SELECT title, date, title, description
        FROM posts
        WHERE title LIKE '%foo%'
        ORDER BY date
        DESC";

$stmt->prepare($query);
$stmt-execute();

$searcharray = $stmt->fetchAll(PDO::FETCH_ASSOC);
$count = count($searcharray);

return array($count, $searcharray);

PDOStatment::rowCount()函数返回更新/插入/删除语句的受影响行。相反,请对fetchAll的结果进行计数,因为这样可以准确计算从select语句返回的行数。

答案 1 :(得分:0)

如果有一个行数组,则不需要计数。你可以随时得到它 所以,只需返回一个数组,然后在需要时进行计数。