1 回答
TA贡献1883条经验 获得超3个赞
考虑以下:
错误的原因是您$stmt为SELECTandINSERT语句使用了一个变量,并且在第一个INSERT语句之后while ($result = $stmt->fetch(PDO::FETCH_COLUMN)) ...生成了错误。为INSERT语句使用不同的变量。
该INSERT语句在 中有四个参数占位符prepare(),但在 中只有三个值execute()。
用于PDOStatement::fetchColumn返回一行中的一列。
代码:
<?php
...
while ($result = $stmt->fetchColumn(0)) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://somegame.com/api/nation/id=$result&key=myapikey");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$nation = curl_exec($ch);
$json = $nation;
$nation = json_decode($nation, true);
$stmt2 = $pdo->prepare("INSERT INTO nation_record(nation_id,as_on,json) VALUES (?,?,?)");
$stmt2->execute([$result, date("Y-m-d"), $json ]);
}
...
?>
- 1 回答
- 0 关注
- 194 浏览
添加回答
举报