PDO LIMIT и OFFSET

Возможный дубликат:
PHP PDO bindValue в LIMIT

Я не мог отображать данные при использовании LIMIT и / или OFFSET в инструкции подготовки, но я могу показать «Lei Lei», если я не использую LIMIT и OFFSET, не выглядит ли код неправильным?

$statement = $conn->prepare("SELECT id,username FROM public2 WHERE username = :name LIMIT :sta OFFSET :ppage"); $name = "Lei Lei"; $statement->execute(array(':name' => $name,':sta' => $start,':ppage' => $per_page)); 

Это было изменение от исходного кода, который работал:

 $query_pag_data = "SELECT id,username from public2 LIMIT $start, $per_page"; $result_pag_data = mysql_query($query_pag_data) or die('MySql Error' . mysql_error()); 

Я нашел ответ!

 $statement->bindValue(':sta1', (int) $start, PDO::PARAM_INT); 

работает

 $dbh->setAttribute( PDO::ATTR_EMULATE_PREPARES, false ); 

позволит вам связывать переменные, не беспокоясь о них.

Изменить: Исправлено

 $statement = $conn->prepare("SELECT id,username FROM public2 WHERE username = :name LIMIT :limit OFFSET :offset"); $name = "Lei Lei"; $statement->bindValue(':name', $name); $statement->bindValue(':limit', (int) $start, PDO::PARAM_INT); $statement->bindValue(':offset', (int) $per_page, PDO::PARAM_INT); $statement->execute();