我有以下代码,我希望更有效地执行对数据库的插入,并将代码更新为现在使用 PDO:
foreach ($urls as $i => $url) {
//path to csv file
$web = "http://path-to-file/".$url;
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies.txt");
curl_setopt ($ch, CURLOPT_URL, $web);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_TIMEOUT, 30);
$result = curl_exec($ch);
//explode the csv file by new line
$r = explode("\n", $result);
$sql = "insert into product (`product_name`) values ";
for ($i = 1; $i <= count($r); $i++){
//explode each row by comma
$n = explode(",", $r[$i]);
$product_name = $n[0];
$sql .= "('$product_name'),";
}
$sql = trim($sql, ",");
if(count($n) != 0)
mysql_query($sql);
}
首先,有一个循环,从远程文件中检索数据并将所有这些数据从文件中插入到数据库中。目前,代码从一个文件插入数据,然后移动到下一个文件。每个文件最多可以插入 2000 条,通常以 15 条为一组进行(所以粗略的插入记录总数为 30000 条)。一次或分批插入所有 30000 条记录在数据库上会更有效吗?(请记住,站点上可能有多个用户也在检索文件并执行插入)。
其次,我想修改上面的代码以使用 PDO。
对此的任何帮助将不胜感激。
谢谢
PS。我确实知道如何创建 PDO 数据库连接。