无法在我的数据库中插入大量寄存器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法在我的数据库中插入大量寄存器相关的知识,希望对你有一定的参考价值。
我在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");
}
?>
在浏览器中我读到了这个:
文件已正确加载
连接!
错误mysql
执行查询时,die函数会写入mysql错误
我正在考虑放置一个计数器,因为我知道它在582处停止,并修改脚本以便它转到583并开始从此插入
非常感谢你
PD:
我使用die(mysql_error())来了解正在发生的错误,我得到以下结果:您的SQL语法中有错误;查看与您的MySQL服务器版本相对应的手册,以便在第1行的'ANGEL','OIL','PAINT','74x131','R45','R45')附近使用正确的语法。可能是那样的XML文件中有一些与SQL文件冲突的字符?
答案
问题是在XML文件中有类似的字符,并且在PHP中进行插入时与该字符存在冲突
以上是关于无法在我的数据库中插入大量寄存器的主要内容,如果未能解决你的问题,请参考以下文章