<?php
try
{
$db = new PDO("mysql:host=localhost;dbname=DBNAME", "USER", "PASSWD");
$stmt = $db->prepare("SELECT id, name FROM testdb ORDER BY time DESC LIMIT :index, 10");
$stmt->bindValue(":index", $_GET['index'], PDO::PARAM_INT);
$stmt->execute();
while( $r = $stmt->fetch(PDO::FETCH_ASSOC) )
{
echo var_dump($r);
}
}
catch( PDOException $e )
{
die("Exception");
}
Sorun bu hat üzerinde: $ deyim-> bindValue (": index", $ _GET ['index'], PDO :: PARAM_INT);
Ve özel parametre ikinci biridir.
Yukarıda olduğu gibi kod while döngü yürütülür değildir bu yüzden hiçbir şey dönmez, çalışmıyor. Ben 10 gibi bir sayı ile $ _GET ['index'] yerine ise, bu 10 satır döndürür, gayet güzel çalışıyor. Bir dizi geçmesi gerekir böylece $ _GET ['index'] yankılanan, bir dizi gösterir. Ben de bindParam denedim ama sonuç aynı.
Neden bu çalışmıyor?
EDIT:
I (int) $ _GET ['index'] ile $ _GET ['index'] değiştirin İlginç ... çalışıyor.