PHP PDO에서 가장 이상한 문제가 있습니다. 여러분이 저를 위해 그것을 해결할 수 있기를 바랍니다.LIMIT가 너무 높을 때 PHP의 PDO 쿼리가 실행되지 않습니까?
$checkLimit
을 50000으로 설정하면 쿼리가 정상적으로 작동합니다. 중 (이미 $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING)
를 사용하여 그들을 고발했고 그것은 오류 메시지를 캐스팅하지 않습니다
$sql = "
SELECT d_domain_name AS domainName, d_domain_id AS domainID
FROM domains
ORDER BY d_domain_name_length ASC, d_domain_name ASC
LIMIT :checkLimit
";
$stmt = $db->prepare($sql);
$stmt->bindValue(':checkLimit', intval($checkLimit), PDO::PARAM_INT);
$stmt->execute();
$results = $stmt->fetchAll();
foreach ($results as $result) {
// 50k moments of magic
}
을 내가 실행하는 경우 - 나는 50K 이상 아무것도로 설정한다면, 그것은 어떤 결과를 반환하지 않습니다. PHP 외부의 쿼리, 어떤 제한 (심지어 500k, 약 3 분 걸립니다).
메모리를 시도하고 저장하기 위해 로 변경 시도했지만 불행히도 아무것도하지 않았다.
누구나 내가 잘못하고있는 것을 말할 수 있습니까? 내가 무엇을 놓치고 있습니까? 왜 제가 50k를 넘을 수 없습니까?
'int'값이 무한대가 아니므로 한도를 초과했을 수 있습니다. – fedorqui
그게 뭐야? 우리를 서스펜스에 빠뜨리지 마라! –
@fedorqui : 50,000은 32bit PHP int –