Jump to content

Can't do pagination with php mysql pdo


colap

Recommended Posts

            if (isset($_REQUEST['page']) ) {
                $offset = $_REQUEST['page'];
            } else {
                $offset = 0;
            }
            $limit = 2;
            $dbh = mysql_connection();
            $sql = "select * from posts limit :limit offset :offset";
            $stmt = $dbh->prepare($sql);
            $stmt->bindParam(':limit', $limit);
            $stmt->bindParam(':offset', $offset);
            $stmt->execute();
            $result = $stmt->fetchAll();

It displays empty array(0) { } , what can be the reason?

Link to comment
https://forums.phpfreaks.com/topic/296872-cant-do-pagination-with-php-mysql-pdo/
Share on other sites

once you get past the query errors (see Barand's reply #5), you are using the page part of pagination incorrectly.

 

the logical page number from the link - 1, 2, 3.... needs to be converted to the offset value for the query statement by subtracting one and multiplying by the rows-per-page/limit value. since the offset value is now a calculated value, it doesn't need to be a bound parameter in the query statement. likewise, if the limit value is defined in your php code, it doesn't need to be a bound parameter. 

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.