Я не могу найти решение, пожалуйста, помогите. ниже код. заранее спасибо
<?php
require_once('connect.php');$sql = "select * from projet";
$result = $conn->query($sql);
$xml = new SimpleXMLElement('<xml/>');
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$mydata = $xml->addChild('mydata');
$mydata->addChild('Id',$row['idProjet']);
}
} else {
echo "0 results";
}
$conn->close();
header ("Content-Type:text/xml");
echo($xml->asXML());
?>
и файл connect.php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "mtocrowdrise";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "connected succesfully";
Тем временем я продолжаю получать эту ошибку:
This page contains the following errors:
error on line 1 at column 1: Document is empty
Below is a rendering of the page up to the first error.
Вы не должны писать / выводить какой-либо HTML-код на страницу, когда указанная страница преобразуется в XML-документ (header ("Content-Type:text/xml");
).
Удалить echo "connected succesfully";
от connect.php
,
Вы также (в конце концов) получите ту же ошибку, если:
...
} else {
echo "0 results";
}
...
header ("Content-Type:text/xml");
удовлетворяет. Таким образом, вы должны преобразовывать документ в XML только в том случае, если нет ошибок и на самом деле есть какой-то XML для отображения.
Нечто похожее на следующее установило бы для документа значение XML, только если есть результаты для отображения (в соответствии с исходным кодом):
require_once('connect.php');
$sql = "select * from projet";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$xml = new SimpleXMLElement('<xml/>');
// output data of each row
while($row = $result->fetch_assoc()) {
$mydata = $xml->addChild('mydata');
$mydata->addChild('Id',$row['idProjet']);
}
header ("Content-Type:text/xml");
echo($xml->asXML());
} else {
echo "0 results";
}
$conn->close();
Других решений пока нет …