#1
  1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jan 2013
    Posts
    13
    Rep Power
    0

    Question How to get the last and first results from a MYSQL query using PHP PDO?


    Hey

    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.

    PHP Code:
    $aid $DBH->prepare("SELECT id FROM articles ORDER BY id DESC LIMIT 10");
    $aid->execute(); 
    $row $aid->fetch(PDO::FETCH_NUMPDO::FETCH_ORI_LAST); 
    $lowest_article_id $row[0]; 
    $row $aid->fetch(PDO::FETCH_NUMPDO::FETCH_ORI_FIRST); 
    $highest_article_id $row[0]; 
    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
    Regards
    Michael
  2. #2
  3. No Profile Picture
    Lost in code
    Devshed Supreme Being (6500+ posts)

    Join Date
    Dec 2004
    Posts
    8,316
    Rep Power
    7171
    To request a scrollable cursor for your PDOStatement object, you must set the PDO::ATTR_CURSOR attribute to PDO::CURSOR_SCROLL when you prepare the SQL statement with PDO:repare().
    Those options require a scrollable cursor.
    PHP FAQ

    Originally Posted by Spad
    Ah USB, the only rectangular connector where you have to make 3 attempts before you get it the right way around
  4. #3
  5. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jan 2013
    Posts
    13
    Rep Power
    0
    Tried adding the scrollable cursor to the prepare statement but it's still not working. Someone on another forum pointed me to a bug from 2005 about this issue.

    This bug is still not fixed yet!

    Thanks

IMN logo majestic logo threadwatch logo seochat tools logo