2013-06-01 3 views
2
$pageMin = (($page * 10)-10); 

$reponse = $bdd->prepare('SELECT pseudo, message FROM minichat ORDER BY id DESC LIMIT ?, 10'); 
$reponse->execute(array($pageMin)); 

에 자리 표시 자와() 문을 실행PDO는 ... LIMIT LIMIT 작동하지 않는 자리처럼 보인다

나는 그것이 작동 pageMin, 예와 연결하여 :

$reponse = $bdd->query('SELECT pseudo, message FROM minichat ORDER BY id DESC LIMIT' . $pageMin . ', 10'); 

또는 심지어

$reponse = $bdd->prepare('SELECT pseudo, message FROM minichat ORDER BY id DESC LIMIT' . $pageMin . ', 10'); 
$reponse->execute(array()); 

자리 표시자를 사용하면 결과가 표시되지 않습니다. 그 이유는 무엇입니까?

도움 주셔서 감사합니다.

+0

실제 질문은 확실하지 않지만 '제한'은 아닙니다. $ pageMin. '', $ pageMin이'5 '라면'LIMIT5' (공백 없음)로 평가 하시겠습니까? 'LIMIT '으로 해보세요. $ pageMin.'' – Scott

+0

입력 오류입니다. 연결할 때 작동합니다. 문제는 placeholder를 사용할 때 예 : LIMITE?, 10, 작동하지 않습니다. –

+0

오류는 없지만 결과는 좋지 않습니다 (결과가 없습니다) –

답변

3

execute에 매개 변수 배열을 전달하면 문자열로 처리되고 limit는 int입니다. int 형의 bindValue를 사용하면된다.

$reponse->bindValue(1, $pageMin, PDO::PARAM_INT); 
+0

감사하지만 1은 무엇입니까? 귀하의 예를 들어 –

+0

아아, 나는 그것을 첫 번째 자리 표시자를 발견했습니다. –