Ben PHP Data Object fonksiyonları ile bazı ciddi sorunlar yaşıyorum. Ben bütün set getiriliyor önlemek için bir tampon sorgu kullanarak büyükçe bir sonuç kümesi (~ 60k satırlar, ~ 1gig) döngü çalışıyorum.
Ne olursa olsun ben ne, komut sadece PDO :: sorguya asılı () - bu sorgu (? Neden başka olurdu sonuç kümesi boyutunda değişim 'düzeltme' sorunu) tamponsuz çalışıyor görünüyor. Burada sorunu yeniden oluşturmak için benim kod:
<?php
$Database = new PDO(
'mysql:host=localhost;port=3306;dbname=mydatabase',
'root',
'',
array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true
)
);
$rQuery = $Database->query('SELECT id FROM mytable');
// This is never reached because the result set is too large
echo 'Made it through.';
foreach($rQuery as $aRow) {
print_r($aRow);
}
?>
Ben bazı makul numarası ile sorgu sınırı ise, iyi çalışıyor:
$rQuery = $Database->query('SELECT id FROM mytable LIMIT 10');
Ben PDO :: MYSQL_ATTR_MAX_BUFFER_SIZE ile oynarken ve PDO kullanarak denedim :: (hazırlamak () ve PDO :: yürütme) hem de (yukarıdaki sorgusuna parametre vardır gerçi), boşuna hem de. Herhangi bir yardım mutluluk duyacağız.