首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP大容量插入foreach

PHP大容量插入foreach
EN

Stack Overflow用户
提问于 2012-05-16 17:32:47
回答 4查看 11.6K关注 0票数 4

我有一个从远程源读取数据的curl脚本。下面是当前的代码:

代码语言:javascript
运行
复制
function download_page($path){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$path);
    curl_setopt($ch, CURLOPT_FAILONERROR,1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 15);
    $retValue = curl_exec($ch);                      
    curl_close($ch);
    return $retValue;
}
$sXML = download_page('http://remotepage.php&function=getItems&count=100&page=1');
$oXML = new SimpleXMLElement($sXML);
foreach($oXML->results->item->item as $oEntry){
    $insert_query = mysql_query("INSERT INTO tbl_item (first_name, last_name, date_added) VALUES ('" . $oEntry->firstname . "', '" . $oEntry->lastname . "', '" . date("Y-m-d H:i:s") . "')");
}

然而,正如我想象的那样,脚本的插入速度非常慢,因为它会写入每个单独的记录。count变量是每个页面返回的记录数,page变量是一个简单的页面计数器。

我想知道是否有一种方法可以执行bulk insert语句一次插入所有100条记录。

提前谢谢。

EN

Stack Overflow用户

发布于 2012-05-16 17:49:35

要进行大容量插入操作,您可以将脚本追加到一个变量中,并且可以将其作为一个整体运行,但为此,您必须使用mysqli_multi_query。检查此链接http://www.php.net/manual/en/mysqli.multi-query.php

票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10615762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档