LIMIT
SQL 쿼리의 일부분을 바인딩하는 데 문제가 있습니다. 이는 쿼리가 문자열로 전달되기 때문입니다. 바인딩 매개 변수를 다루는 여기서 another Q을 보았습니다. 배열에서 명명 된 자리 표시자를 다루는 것이 없습니다.명명 된 자리 표시 자로 PDO/MySQL LIMIT 설정
public function getLatestWork($numberOfSlides, $type = 0) {
$params = array();
$params["numberOfSlides"] = (int) trim($numberOfSlides);
$params["type"] = $type;
$STH = $this->_db->prepare("SELECT slideID
FROM slides
WHERE visible = 'true'
AND type = :type
ORDER BY order
LIMIT :numberOfSlides;");
$STH->execute($params);
$result = $STH->fetchAll(PDO::FETCH_COLUMN);
return $result;
}
내가지고있어 오류는 다음과 같습니다 : Syntax error or access violation near ''20''
(20 $numberOfSlides
의 값)
여기 내 코드입니다.
어떻게 해결할 수 있습니까?
하는 $의 PARAMS [ "numberOfSlides"] = (INTVAL를 사용해보십시오 (($ numberOfSlides를)) 트림, –
정확한 DUP http://stackoverflow.com/questions/10437423/how-can-i-pass-an -array-의-PDO 파라미터 아직 여전히-지정-자신의-유형/10438026 # 자세한 설명은 10,438,026 – goat