我有一个for循环来循环999999个帐户,并将帐户详细信息存储到数据库中,但系统只能在1小时内存储3个帐户数据。所以我想让for循环能够在大量数据中运行,尽管我知道这需要时间。
有没有办法让for循环运行999999数据?
我的代码
for ($i = 0; $i <= 999999; $i++){
$url="https://8iportal.com/api/v1/portfolios/$i";
curl_setopt($curl,CURLOPT_URL,$url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);
if(curl_error($curl)){
echo 'Error:' . curl_error($curl);
}else{
echo $result;
}
$data = json_decode($result, true);
if(isset($data['portfolio_info'])){
foreach ($data['portfolio_info'] as $key => $value) {
$id= $data['portfolio_info']['id'];
$user_id = $data['portfolio_info']['user_id'];
$name = $data['portfolio_info']['name'];
$sql="INSERT into portfolio(portfolio_id, user_id,name) values(?,?,?)";
$query=$conn->prepare($sql);
$query->bind_param("iis",$id,$user_id,$name);
$query->execute();
}
1条答案
按热度按时间mnemlml81#
您可以尝试在大量n个数据中插入数据:
但是,因此您必须更改实现:$query->bind_param(…)必须更改为值在sql中的位置(我指的是sql模板中的单个“?”)