Я пытаюсь ограничить количество результатов, возвращаемых из SQL-запроса, но по какой-то причине он возвращает NULL. Если я удалю LIMIT, все будет хорошо. Я протестировал запрос в Sequel Pro, и он отлично работает с LIMIT. Я здесь что-то не так?
public static function getMostViewedPictures($limit = 5) { $dbh = self::connectToDatabase(); $sql = "SELECT picture.`title`, picture.`description`, picture.`slug`, picture.`image`, picture.`timestamp`, picture.`views`, category.category as category FROM picture LEFT JOIN category ON picture.category_id = category.id ORDER BY picture.views ASC LIMIT 0, :limit"; $sth = $dbh->prepare($sql); $sth->execute(array(':limit' => $limit)); if($results = $sth->fetchAll(PDO::FETCH_OBJ)) { $pictures = array(); foreach($results as $result) { $pictures[] = new Picture( $result->title, $result->description, $result->slug, $result->timestamp, $result->category, $result->views, $result->image ); } return $pictures; } else { return null; } }
Решаемые.
$sth->bindParam(':limit', $limit, PDO::PARAM_INT);