PDO Prepare Statement Limit funktioniert nicht [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Wie wird die bindValue-Methode in der LIMIT-Klausel angewendet? 10 Antworten

Ich versuche, die Anzahl der von einer SQL-Abfrage zurückgegebenen Ergebnisse zu begrenzen, aber aus irgendeinem Grund wird NULL zurückgegeben. Wenn ich das LIMIT entferne, funktioniert alles einwandfrei. Ich habe die Abfrage in Sequel Pro getestet und es funktioniert auch gut mit dem LIMIT. Mache ich hier etwas falsch?

 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;
    }
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage