私は最も奇妙な PHP PDO の問題を抱えています。皆さんが解決してくれることを願っています。
$checkLimit
50000に設定すると、クエリは正常に機能します。ただし、50k を超える値に設定すると、結果は返されず、エラー メッセージもキャストされません ( $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
}
PHP の外部でクエリを実行すると、任意の制限 (500k であっても、約 3 分かかります) で動作します。
メモリを節約するために に変更しよ$results = $stmt->fetchAll()
うwhile ($result = $stmt->fetch()) {}
としましたが、残念ながら何もしませんでした。
ここで私が間違っていることを誰かに教えてもらえますか? 私は何が欠けていますか?なぜ50kを超えられないのですか?