首先我想说我的英语很差,但我要试试。
我尝试使用 wamp 服务器在我的 PC 上运行 PHP 脚本,它工作正常,但是当我上传时,由于某种原因,它花费了很多时间来完成主机上的执行,并且几乎总是以临时服务结束不可用错误(主机关闭连接)。
我使用了一些 die() 来查看问题出在哪里,我发现它是一个 for 循环,我正在制作一个大字符串(我只是连接起来制作一个大 INSERT 以便在循环之后执行它)。这个循环在本地工作......我不明白为什么不在主机上工作。
//insertar valores en bbdd
$sql = "Insert into valor values ";
$primer = 1;
$tiempo_inicio = microtime(true);
for($i = 0 ; $i <= count($array2) - 1 ; $i++)
{
//insertar glucosa
if(!$array2[$i][1] == "")
{
if (!$primer) $sql .= ", ";
else $primer = 0;
$sql .= "('" . $this->paciente . "', '" . $array2[$i][0] . "', 'Glucosa', " . $array2[$i][1] . ")";
$this->Comprobar_Aumentar_Avisos($array2[$i][0], $array2[$i][1]);
}
//insertar raciones
if(!$array2[$i][2] == "")
{
if (!$primer) $sql .= ", ";
else $primer = 0;
$sql .= "('" . $this->paciente . "', '" . $array2[$i][0] . "', 'Raciones', " . $array2[$i][2] . ")";
}
//insertar insulina
if(!$array2[$i][3] == "")
{
if (!$primer) $sql .= ", ";
else $primer = 0;
$sql .= "('" . $this->paciente . "', '" . $array2[$i][0] . "', 'Insulina', " . $array2[$i][3] . ")";
}
}
$tiempo_total = microtime(true) - $tiempo_inicio;
die($tiempo_total);
if ($sql != "Insert into valor values ") {
$AccessBD = new TAccessBD;
$AccessBD->usuario = $this->paciente;
$AccessBD->Inicialitzar_BD();
$AccessBD->query = $sql;
$res = $AccessBD->Ejecutar_SQL();
$AccessBD->Finalitzar_BD();
unset($AccessBD);
}