Foros del Web » Programando para Internet » PHP »

XML EN PHP - Error si uso While

Estas en el tema de XML EN PHP - Error si uso While en el foro de PHP en Foros del Web. Hola amigos, Tengo este código para crear un XML con PHP. El caso que si hago el while me da error, sin el while funciona ...
  #1 (permalink)  
Antiguo 18/11/2011, 03:53
 
Fecha de Ingreso: diciembre-2003
Mensajes: 157
Antigüedad: 20 años, 4 meses
Puntos: 1
Pregunta XML EN PHP - Error si uso While

Hola amigos,

Tengo este código para crear un XML con PHP. El caso que si hago el while me da error, sin el while funciona perfectamente. ¿Porqué? Ayuda por favor!!!

Código PHP:
mysql_select_db($database_idilic, $idilic);
mysql_query ("SET NAMES 'utf8'");
$query_Consulta = "SELECT * FROM proyectos_es ORDER BY Id ASC";
$Consulta = mysql_query($query_Consulta, $idilic) or die(mysql_error());
$totalRows_Consulta = mysql_num_rows($Consulta);
$Num = 1;
header("HTTP/1.1 200 OK");
header("Content-Type: text/xml; charset=UTF-8");
echo '<?xml version="1.0" encoding="utf-8"?>';
echo "<results>\n";
while ($row_Consulta = mysql_fetch_assoc($Consulta)){
    echo '<rs id="'.$Num++.'" info="">'.$row_Consulta['Bread']."</rs>";
}
echo "</results>";
mysql_free_result($Consulta);
mysql_close($idilic);
Gracias de antemano!!!
__________________
http://www.idilicstudio.com
  #2 (permalink)  
Antiguo 18/11/2011, 04:00
 
Fecha de Ingreso: diciembre-2003
Mensajes: 157
Antigüedad: 20 años, 4 meses
Puntos: 1
Respuesta: XML EN PHP - Error si uso While

Auto-Respuesta!

Chic@s, ya he encontrado el problema, resultaq que en un campo había un caracter &. Y por eso me daba error el XML. Lo he solucionado introduciendo htmlspecialchars():

Código PHP:
mysql_select_db($database_idilic, $idilic);
mysql_query ("SET NAMES 'utf8'");
$query_Consulta = "SELECT * FROM proyectos_es ORDER BY Id ASC";
$Consulta = mysql_query($query_Consulta, $idilic) or die(mysql_error());
$totalRows_Consulta = mysql_num_rows($Consulta);
$Num = 1;
header("HTTP/1.1 200 OK");
header("Content-Type: text/xml; charset=UTF-8");
echo '<?xml version="1.0" encoding="utf-8"?>';
echo "<results>\n";
while ($row_Consulta = mysql_fetch_assoc($Consulta)){
    echo '<rs id="'.$Num++.'">'.htmlspecialchars($row_Consulta['Bread']).'</rs>';
}
echo "</results>";
mysql_free_result($Consulta);
mysql_close($idilic);
Gracias de todos modos!
__________________
http://www.idilicstudio.com

Etiquetas: mysql, 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 10:11.