[英]Error query SQL parsing XML in PHP
我在嘗試遍歷xml並將每個節點插入數據庫中時遇到以下錯誤。
注意:試圖獲取非對象的屬性
錯誤行如下:
$ ninv = $ obra-> ninventario。“ /”。$ obra-> ncatalogo;
$ CONSULTA = “INSERT INTO
bcficha
(ninv
,contrato
,desc
,tecnica
,pieza
,dimen
,lochab
,ubicacion
)VALUES(”“。$ NINV ” ''。“ $ obra-> contrato ” ''。“ $ obra-> titulo。“','”。$ obra-> tecnica。“','”。$ obra-> tipo。“','”。$ obra-> medidas_con_marco。“ ,,”。$ obra -> localizacion_habitual。“,'”。$ obra-> ultima_localizacion。“');”;
XML文件完美地通過了它,因為我具有帶有回聲和節點參數之一的comporbado。
我不知道與BD的連接是否有問題,我認為不是,還是其他類型的問題。
<?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();
foreach ($xml as $obra)
{
$obra = (array) $obra;
$ninv= $obra->ninventario."/".$obra->ncatalogo;
$consulta ="INSERT INTO `bcficha` (`ninv`, `contrato`, `desc`, `tecnica`, `pieza`, `dimen`, `lochab`, `ubicacion`) VALUES ('".$ninv."','".$obra->contrato."','".$obra->titulo."','".$obra->tecnica."','".$obra->tipo."','".$obra->medidas_con_marco."', '".$obra->localizacion_habitual.", '".$obra->ultima_localizacion."'); ";
$resultado= mysqli_query($enlace,$consulta) or die (mysqli_error);
if ($resultado)
{
echo ("Base de datos caragda correctamente<br>");
}
else
{
echo ("Eror cargando base de datos<br>");
}
}
?>
和conectar.php
<?php
function conectarse()
{
if (!($conexion=mysql_connect("localhost","root","")))
{
echo "Error conectando a la base de datos<br>";
exit();
}
if (mysql_select_db("db1", $conexion))
{
echo("<br>Conectado !!!<br>");
}
else
{
echo("Fallo al conectar<br>");
}
return $conexion;
}
?>
非常感謝你的幫助。
您已將$obra
轉換$obra
數組:
foreach ($xml as $obra)
{
$obra = (array) $obra;
[...]
因此您需要將該變量用作數組:
$ninv = $obra['ninventario'] . '/' . $obra['ncatalogo'];
等等。
我認為您的問題是$obra
和$obra
不是object.its數組
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.