February 3rd, 2013, 08:39 AM
Join Date: Jan 2013
Time spent in forums: 3 h 56 m 31 sec
Reputation Power: 0
How to get the last and first results from a MYSQL query using PHP PDO?
I have a simple articles table with IDs. I want to get the highest and lowest ids from the latest 10 results using PHP PDO prepared statements. For example, if there are 11 ids, the result should be 2 and 11 and if there are 4 ids, should be 4 and 1 and so on.
$aid = $DBH->prepare("SELECT id FROM articles ORDER BY id DESC LIMIT 10");
$row = $aid->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_LAST);
$lowest_article_id = $row;
$row = $aid->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_FIRST);
$highest_article_id = $row;
The above will always return 11 if there are 11 records and 10 if there are 10 records. So, the query ignores the PDO::FETCH_ORI_LAST and PDO::FETCH_ORI_FIRST part of the query.
Thanks in advance