我正在尝试从 api 循环数据,然后将这些值发布到 MySQL db。
像这样的东西:
$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 得到解决。