Johanna: mysql pso übergabe probleme mit :limit

Irgendwas stimmt nicht, leider habe ich auch keine Fehlermeldung. Aber die Übergabe, Abfrage mir LIMIT funktioniert nicht.

Kann mir jemand hierbei weiter helfen.

$limit = 4 $cat =10

$statement = $pdo->prepare("SELECT * FROM ausgabe_links WHERE cat=:cat ORDER by name DESC LIMIT :limit");
$result = $statement->execute(array('limit' => 4, 'cat' => $cat,'limit' => $limit));  

Danke

Johanna

  1. Tach!

    Kann mir jemand hierbei weiter helfen.

    Einmal googeln bringt die Antwort, dass PDOStatement::execute() die Parameter als String übergibt, MySQL aber mit einem String in der LIMIT-Klausel nichts anfangen kann. PDOStatement::bindValue() mit der Angabe des Datentyps PDO::PARAM_INT hilft.

    dedlfix.

  2. Liebe Johanna,

    $result = $statement->execute(array('limit' => 4, 'cat' => $cat,'limit' => $limit));  
    

    in Deinem array steht zwei mal der Index limit, was dazu führt, dass der erste Wert überschrieben wird. Das mag jetzt nicht helfen, ist mir aber aufgefallen.

    Liebe Grüße,

    Felix Riesterer.