我有一个大的xml文件(60Mb),我要解析并在MySQL DB中插入每条记录。我正在使用simpleXML这样做,并且像Xamp中的魅力一样工作但不在现场托管网站上。我没有错误所以我不知道为什么$ xml对象继续返回false。是因为XML中存在大量记录吗?
require('connectDB.php');
$query = "INSERT INTO myTable (cp,colonia,municipio,ciudad,estado) VALUES (?,?,?,?,?)";
if($stm = $con->prepare($query)){
if(file_exists('CPdescarga.xml')){
$xml = simplexml_load_file("CPdescarga.xml", 'SimpleXMLElement', LIBXML_COMPACT | LIBXML_PARSEHUGE);
if($xml === false){
echo "No se cargó el archivo correctamente";
foreach (libxml_get_errors() as $error){
echo "\t". $error->message;
}
} else{
$error = 0;
foreach($xml->table AS $registro){
$stm->bind_param('sssss',$registro->d_codigo,$registro->d_asenta,$registro->D_mnpio,$registro->d_ciudad,$registro->d_estado);
if(!$stm->execute()){
$error++;
}
}
echo "Se presentaron $error errores!";
}
} else{
echo "No existe el archivo!";
}
} else{
echo "No se pudo preparar la consulta";
}
$stm->close();
$con->close();`
答案 0 :(得分:0)
尝试检查服务器上php.ini中的以下值(使用phpinfo()函数显示): post_max_size和upload_max_filesize
必要时增加它们。 见这里:http://php.net/manual/en/ini.core.php