0

我遇到了某种问题,我不知道如何解决它。

问题是,我在另一个数据库中有 500 个寄存器,并且获取它们的查询将它们全部包含在内,但是当我执行循环以在我的数据库中插入/更新它们时,foreach 循环没有结束并且它没有'不显示任何错误。

这是循环:

foreach ($this->getMetaEmpregado()->getAll()->result_array() as $modelData) {
        $oEmpregado = $this->getEmpregadoObject($modelData);

        $arrayEmpWhere = array(
            'idempregado' => $oEmpregado->getIdEmpregado(),
            'idsociedade' => $oEmpregado->getIdSociedade(),
            'nif' => $oEmpregado->getNif()
        );

        if ($this->getWayUtilizador()->get($arrayEmpWhere)->num_rows() == 0) {
            $countInsert++;
            $this->insertNewEmp($oEmpregado);
        } else {
            $countUpdate++;
            $this->UpdateEmp($oEmpregado);
        }
    }

echo "Total Updates: $countUpdate Total Inserts: $countInsert<br>"; 

它最终不会影响回声,因为它在 260 寄存器附近停止,但有时它会达到 300 个其他甚至不是 100 个。

问候,
埃尔卡斯

4

1 回答 1

1

似乎scripttaking too long,你需要increaseMax_Execution_Time你的php.ini中。

您可以使用ini_set 方法来更改它,如下所示:

ini_set('max_execution_time', 600); //600 seconds = 10 minutes

希望这可以帮助。

于 2012-06-20T12:47:12.513 回答