我有更新mysql數據庫的問題。 我想運行一個〜80萬行的數據庫上運行此腳本,但我的記憶後第5行用完所以一些我需要怎麼加+5到極限自動更新這個MySQL查詢。內存問題mysql的
我想使用重定向或重置莫名其妙的記憶..
<?php
include(dirname(__FILE__) .'/include/simple_html_dom.php');
mysql_connect('localhost', '', '');
mysql_select_db('');
$result = mysql_query("SELECT gamertag FROM gamertags LIMIT 0, 5 ");
while ($row = mysql_fetch_assoc($result)) {
$gamertag = $row['gamertag'];
//pages to pull stats from
$site_url = 'http://www.bungie.net';
$stats_page = 'http://www.bungie.net/stats/reach/default.aspx?player=';
//create dom
$html = new simple_html_dom();
$html->load_file($stats_page . urlencode(strtolower($gamertag)));
//pull nameplate emblem url, ****if it exist****
$nameplate_emblem_el = $html->find("#ctl00_mainContent_identityBar_namePlateImg");
if (!$nameplate_emblem_el){
$nameplate_emblem = 'No nameplate emblem!';
}
else{
//only if #ctl00_mainContent_identityBar_namePlateImg is found
$nameplate_emblem = htmlspecialchars_decode($nameplate_emblem_el[0]->attr['src']);
$nameplate_emblem = $site_url . $nameplate_emblem;
}
mysql_query("INSERT IGNORE INTO star SET gamertag = '".$gamertag."',nameplate = '".$nameplate_emblem."'");
}
?>
爲什麼你需要選擇全部800 000行?只是出於好奇。如果您需要以某種方式更新它們,那麼通過查詢無法做到這一點? – 2011-03-20 18:54:40
你需要表現出更多的代碼,所以我們可以看到使用的內存 – Unicron 2011-03-20 18:54:52
也許你能告訴我們你的腳本的其餘部分或解釋我們這是什麼目的。如果你只需要gamertag,那麼首選mysql_fetch_row(),它更快,更省資源。 – guillaumepotier 2011-03-20 18:58:27