Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Mostrar la BD en xml con php y mysql

Estas en el tema de Mostrar la BD en xml con php y mysql en el foro de PHP en Foros del Web. Hola! Tengo una base de datos y quiero que esos datos se muestren en un archivo xml. No se que estaré haciendo mal. Tengo tres ...
  #1 (permalink)  
Antiguo 01/03/2014, 17:21
 
Fecha de Ingreso: junio-2008
Ubicación: Rosario siempre estuvo cerca
Mensajes: 14
Antigüedad: 15 años, 10 meses
Puntos: 2
Mostrar la BD en xml con php y mysql

Hola! Tengo una base de datos y quiero que esos datos se muestren en un archivo xml. No se que estaré haciendo mal. Tengo tres archivos. Uno que me conecta con la base de datos (conect.php), otro que realiza el registro en la BD llamado nuevoRegistro.php y el último que se llama armaEstructura.php que lo que tendría que hacer es mostrarme el xml (pero no lo hace ). La base de datos se llama ejemplo_libros y la tabla personitas. Tiene 5 campos que son: id, nombre, apellido, email y comentarios. Con el archivo nuevoRegistro no tengo problemas en insertar un dato en la BD. El archivo armaEstructura.php cuando lo ejecuto me muestra los siguiente:

Código:
Este fichero XML no parece tener ninguna información de estilo asociada. Se muestra debajo el árbol del documento.

 -<personas>
       <br/>
       <b>Warning</b>
       :  mysql_fetch_array(): supplied argument is not a valid MySQL result resource in 
      <b>C:\xampp\htdocs\libro_ejemplo\armarEstructura.php</b>
      on line 
     <b>7</b>
     <br/>
</personas>
Aca les muestro los archivos

conect.php
Código:
<?php
$Servidor = "localhost";
$Usuario = "root";
$Password = "";
$BaseDeDatos="libro_ejemplo";
$conexion=mysql_connect ($Servidor,$Usuario,$Password) or die ("Error: el servidor no puede conectarse con la base de datos");
mysql_select_db($BaseDeDatos,$conexion);
?>
nuevoRegistro.php
Código:
<?php
require("conect.php");
$phpNombre = "Jose";
$phpApellido = "Perez";
$phpEmail = "[email protected]";
$phpComentarios = "Este es mi comentario.";
$consulta = mysql_query("insert into personitas (id,nombre,apellido,email,comentarios) values ('2','$phpNombre','$phpApellido','$phpEmail','$phpComentarios');");
if ($guardar == mysql_query("$consulta"))
 {
  echo "se agregaron nuevos datos a la BD";
 }
else
 {
  echo "error";
 }
?>
armaEstructura.php
Código:
<?php header("Content-type: text/xml\n\n"); ?>
<?php echo ('<?xml version="1.0" encoding="ISO-8859-1"?>' . "\n"); ?>
<?php
     require("conect.php");
     echo "<personas>\n";
     $consulta = mysql_query("select * from 'personitas' order by id ASC");
     while($resultado = mysql_fetch_array($consulta))
     {
     echo "<contacto>\n";
     echo "<personal nombre = \"$resultado[nombre]\" apellido = \"$resultado[apellido]\"/>\n";
     echo "<e-mail>$resultado[email]</e-mail>\n";
     echo "<cometarios>$resultado[comentarios]</comentarios>\n";
     echo "</contacto>\n";
     }
     echo "</personas>\n";
?>
No se que estaré haciendo mal.
  #2 (permalink)  
Antiguo 01/03/2014, 18:49
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Mostrar la BD en xml con php y mysql

Ese error te dice que la variable $consulta no es un recurso válido para acceso a juego de resultados de Mysql y la causa es casi siempre porque la consulta falló.

Cómo saber si una consulta no está bien? Agrega al final or die(mysql_error());

Código PHP:
Ver original
  1. $consulta = mysql_query("select * from 'personitas' order by id ASC") or die(mysql_error());

Con eso obtendrás un mensaje descriptivo del error.

Por cierto, la librería mysql es obsoleta y se recomienda el uso de mysqli o, mejor aún, PDO: http://www.forosdelweb.com/f18/anunc...oleta-1008145/

Ahh, me olvidaba, si quitas las comillas simples del nombre de la tabla, tal vez funcione la consulta.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 02/03/2014, 08:24
 
Fecha de Ingreso: junio-2008
Ubicación: Rosario siempre estuvo cerca
Mensajes: 14
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Mostrar la BD en xml con php y mysql

Gracias Triby por tu ayuda!! Funcionó sacándole las comillas simples a la tabla personitas. Además tenia un error en una etiqueta de xml. Puse <cometarios> en vez de <comentarios>. Saludos!!

Etiquetas: bd, mysql, registro, select, sql, tabla, xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:38.