Trabalhando com o operador LIMIT no PDO em PHP
Ao trabalhar com o operador
LIMIT em uma consulta preparada,
pode surgir um problema - os números
na consulta são convertidos automaticamente
em strings, o que, por sua vez, causará
um erro de sintaxe SQL.
É possível resolver o problema da
interpretação incorreta de números na consulta,
vinculando os valores das variáveis
usando o método bindValue
e definindo o modo numérico para eles
com PARAM_INT:
<?php
$start = 2;
$count = 5;
$res = $pdo->prepare('SELECT * FROM users LIMIT ?, ?');
$res->bindValue(1, $start, PDO::PARAM_INT);
$res->bindValue(2, $count, PDO::PARAM_INT);
$res->execute();
$row = $res->fetchAll();
var_dump($row);
?>
Monte uma consulta IN que
irá retornar dois usuários,
começando a partir do terceiro.