<?php
header('Content-Type: text/xml');
header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Content-Disposition: inline; filename="res.xml"');
header('Pragma: public');
$query = file_get_contents("php://input");
$mysql_host = $_GET["mysql_host"];
$mysql_user = $_GET["mysql_user"];
$mysql_password = $_GET["mysql_password"];
$my_database = $_GET["my_database"];
$limit_nom = $_GET["limit_nom"];
$limit_row = $_GET["limit_row"];
if ((isset($limit_nom) and isset($limit_row)))
{
$query = $query . " limit " . $limit_nom . ", " . $limit_row;
}
$link = mysqli_connect($mysql_host, $mysql_user, $mysql_password) or die('<?xml version="1.0" encoding="utf-8"?><dump><error error="Ошибка подключения к MySQL серверу!!!"/></dump>');
mysqli_select_db($link, $my_database) or die('<?xml version="1.0" encoding="utf-8"?><dump><error error="Не удалось выбрать базу данных!!!"/></dump>');
$result = mysqli_query($link,"SET character_set_results = 'utf8'");
$result = mysqli_query($link, $query) or die('<?xml version="1.0" encoding="utf-8"?><dump><error error="'.htmlspecialchars(mysqli_error($link)).'"/></dump>');
$res_xml = '<?xml version="1.0" encoding="utf-8"?><dump>';
$kol_rez = true;
while ($line = mysqli_fetch_assoc($result))
{
if ($kol_rez)
{
$i = 0;
foreach ($line as $col_value)
{
$res_xml = $res_xml . '<col field="' . mysqli_fetch_field_direct($result, $i) . '"/>';
$i++;
}
$kol_rez = false;
}
$res_xml = $res_xml . '<row';
$i = 0;
foreach ($line as $col_value)
{
$res_xml = $res_xml . ' ' . mysqli_fetch_field_direct($result, $i) .'="' . htmlspecialchars($col_value) . '"';
$i++;
}
$res_xml = $res_xml . '/>';
}
mysqli_free_result($result);
mysqli_close($link);
$res_xml = $res_xml . '</dump>';
echo $res_xml;
?>
Если форма с типом "multipart/form-data" то работать не будет (php://input).