我想从一个准备好的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);
答案 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)
如果有一个行数组,则不需要计数。你可以随时得到它 所以,只需返回一个数组,然后在需要时进行计数。