Burada anlaşılmaz .... Bu kod:
$qry = sprintf("INSERT INTO news_sites_homepage_grab
VALUES ('', %d, '%s', NOW(), NOW())",
$site_id, mysql_real_escape_string($html));
... $html
her zaman değişen bir döngü içinde yürütülür. Bu kod bir kez çalıştırılır ama bir dahaki sefere, komut basitçe ölür. Hiçbir uyarı / hata, hiçbir şey. Çok uzun olabilir bu yüzden $html
, bir web sayfasını gösteren bir dizedir. Ben 32M için PHP bellek limitini artırdı ve 16M ama hiçbir şey MySQL max_allowed_packet belirledik.
Herkes herhangi bir fikir var mı? Teşekkürler!
GÜNCELLEME: Burada bir döngü içinde denir işlevidir.
function save_html($site_id, $html) {
global $db;
try {
$qry = sprintf("INSERT INTO site_grab VALUES ('', %d, '%s', NOW(), NOW())",
$site_id,
mysql_real_escape_string($html));
$db->insert($qry);
}
catch(Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
return;
}