Hola,
Tengo un problema al intentar importar algunos campos desde un archivo xml a mi base de datos.
El xml sería algo parecido a:
Código:
<ArticulosD>
<ArticuloD>
<codigo>10003</codigo>
<familia>DIVERTIDOS</familia>
<subfamilia>BEBIDAS</subfamilia>
<ean>8003558960408</ean>
<talla>ST</talla>
<hashtalla>821272cc705396659de1098ed38693dc</hashtalla>
<descripcion>SHAPE ICE MAKER</descripcion>
<descripcionori>SHAPE ICE MAKER</descripcionori>
<novedad>false</novedad>
<promocion>false</promocion>
<explicacion><p><strong>SHAPE ICE MAKER</strong>.<br /> <br /> cubitera rígida para 4 cubitos con forma de esperma.<br /> <</explicacion>
<explicacion_texto>SHAPE ICE MAKER. Cubitera rígida para 4 cubitos.</explicacion_texto>
<fabricante>GIRLS NIGHT OUT</fabricante>
<subfabricante>CLASSICS</subfabricante>
<categorias>
<string>PRODUCTO >JUGUETES >BON</string>
</categorias>
...
</ArticulosD>
</ArticuloD>
Los campos marcados en negrita no consigo importarlos a la base de datos, me da el siguiente error:
Error en moreinfo2: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS, 16X30CM.', '', 'Mopa Ecologica Micro Fibras, L'AS, 16X30cm.'' at line 5
Si no importo esos campos todo parece ir bien, el script que utilizo es el siguiente:
Código PHP:
foreach ($xml->ArticulosD->ArticuloD as $articulo) {
$qry = "INSERT INTO moreinfo (codigo, categorias, descripcion, subfabricante, explicacion_texto)
VALUES (
'$articulo->codigo',
'$articulo->categorias',
'$articulo->descripcion',
'$articulo->subfabricante',
'$articulo->explicacion_texto')";
$result = mysql_query($qry) or die("Error en moreinfo2: " . mysql_error());
$qry2 = "INSERT INTO categorias (codigo, familia, subfamilia, subfamilia2, subfamilia3, subfamilia4)
VALUES (
'$articulo->codigo',
'$articulo->familia',
'$articulo->subfamilia',
'$articulo->subfamilia2',
'$articulo->subfamilia3',
'$articulo->subfamilia4')";
$result2 = mysql_query($qry2) or die("Error en categorias2: " . mysql_error());
}
Solo se me ocurre que sea por los caracteres (´>), pero tampoco, porque el campo
descripcion solo es texto en mayúsculas y también da error.
¿Alguna sugerencia?
Gracias, un saludo.