API からデータをループして、これらの値を MySQL データベースに投稿しようとしています。
このようなもの:
$values = json_decode(file_get_contents("my-json-file"));
$SQL = new mysqli(SQL_HOST, SQL_USER, SQL_PASS, DB_NAME);
$SQL->autocommit(FALSE);
foreach($values As $item)
{
$query = "INSERT INTO my_table VALUES ('".$item->value1."', '".$item->value2.";)";
$SQL->query($query);
if(!$SQL->commit())
{
echo "ERROR ON INSERT: [" . $query . "]<hr/>";
}
}
$SQL->close();
ループが速すぎるため、SQL が追いつきません。(ええ!)次に、次のようなものが必要になります。
foreach($values As $item)
{
/**** STOP/PAUSE LOOP ****/
$query = "INSERT INTO my_table VALUES ('".$item->value1."', '".$item->value2.";");
$SQL->query($query);
if($SQL->commit())
{
/**** START THE LOOP AGAIN ****/
}
else
{
echo "ERROR ON INSERT: [" . $query . "]<hr/>";
}
}
または、これを正しい方法で行うにはどうすればよいですか?
編集:毎回ランダムな投稿を挿入します。
編集 2: これは単なるサンプル コードです。はい、ここではセミコロンが間違っていますが、非常に多くのコメントがあるため、変更しません。これは実際の問題ではありませんでした。別のサーバーで実行しようとしましたが、そこで動作しました。この問題は、MAMP を再起動することで修正されました。