无法在我的数据库中插入大量寄存器

时间:2018-03-03 07:49:49

标签: php insert

我在BD中同时插入了许多寄存器。首先,他给了我错误致命错误:超过x秒的最大执行时间。我设法通过在php.ini文件中将max_execution_time变量从30更改为300来消除此错误。现在我不知道它给我看的是什么错,但是模具告诉我有一个错误。

我怎么知道发生了什么错误?

代码是:

<?php

$fichero = "./obras.xml";
if(!$xml = simplexml_load_file($fichero))
{
    echo "No se ha podido cargar el archivo <br>";
} 
else 
{
    echo "El archivo se ha cargado correctamente <br>";
}

include"./conectar.php";
$enlace= conectarse();

function limpia_espacios($cadena){
    $cadena = str_replace(' ', '', $cadena);
    return $cadena;
}


function Mayus($variable) {
$variable = strtr(strtoupper($variable),"àèìòùáéíóúçñäëïöü","ÀÈÌÒÙÁÉÍÓÚÇÑÄËÏÖÜ");
return $variable;
}

mysql_query("SET NAMES utf8");

foreach ($xml as $obra)
{
    $obra = (array) $obra;
    $ninv = $obra['ninventario'] . '/' . $obra['ncatalogo'];
    $dimen = limpia_espacios($obra['medidas_con_marco']);

    $ninv = Mayus($ninv);
    $contrato = Mayus($obra['contrato']);
    $desc = Mayus($obra['titulo']);
    $tecnica = Mayus($obra['tecnica']);
    $pieza = Mayus($obra['tipo']);
    $lochab = Mayus($obra['localizacion_habitual']);
    $ubicacion = Mayus($obra['ultima_localizacion']);


    $consulta ="INSERT INTO `bcficha` (`ninv`, `contrato`, `desc`, `tecnica`, `pieza`, `dimen`, `lochab`, `ubicacion`) VALUES ('".$ninv."','".$contrato."','".$desc."','".$tecnica."','".$pieza."','".$dimen."', '".$lochab."', '".$ubicacion."')"; 

    $resultado = mysql_query($consulta) or die("error mysql"); 

}


?>

更为更为深刻的是我读到了这个:

  

El archivo se ha cargado correctamente

     

Conectado !!!

     

错误mysql

执行查询时,

mysql错误由die函数写入

我正在考虑放置一个计数器,因为我知道它在582处停止,并修改脚本以便它转到583并从此开始插入

非常感谢

PD:

我使用die(mysql_error())来了解正在发生的错误,我得到以下结果:SQL语法中有错误;查看与您的MySQL服务器版本相对应的手册,以便在第1行的'ANGEL','OIL','PAINT','74x131','R45','R45')附近使用正确的语法。可能是那样的XML文件中有一些与SQL文件冲突的字符?

1 个答案:

答案 0 :(得分:0)

问题是在XML文件中有类似的字符,并且在PHP中插入时与该字符存在冲突

相关问题