2016-04-20 12 views
1

Ich bin nicht in der Lage, die Lösung zu finden, bitte helfen. Unten ist der Code. Vielen Dank im VorausDiese Seite enthält den folgenden Fehler: Fehler in Zeile 1 in Spalte 1: Dokument ist leer

<?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()); 
?> 

und die Datei 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";  

Inzwischen halte ich diesen Fehler:

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. 
+0

entfernen 'echo„verbunden erfolgreich“;' 'von connect.php'. Sie sollten kein HTML auf die Seite schreiben/ausgeben, wenn diese Seite als XML-Dokument umgewandelt wird ('header (" Content-Type: text/xml ");'). Sie erhalten (eventuell) den gleichen Fehler, wenn '} else {echo" 0 results ";' sufficient. Sie sollten das Dokument also nur dann in XML umwandeln, wenn keine Fehler vorhanden sind und tatsächlich XML angezeigt werden soll. – Marcus

+0

perfekt danke @Marcus –

Antwort

2

Sie sollen nicht schreiben/Ausgeben von beliebiger HTML auf der Seite wenn die Seite als XML-Dokument umgewandelt wird (header ("Content-Type:text/xml");).

Entfernen Sie echo "connected succesfully"; von connect.php.

Sie werden auch (schließlich) erhalten den gleichen Fehler, wenn:

... 
} else { 
    echo "0 results"; 
} 
... 
header ("Content-Type:text/xml"); 

erfüllt. Sie sollten das Dokument also nur dann in XML umwandeln, wenn keine Fehler vorhanden sind und tatsächlich XML angezeigt werden soll.

So etwas wie die folgenden würde nur das Dokument XML gesetzt, wenn Ergebnisse (pro Ihren ursprünglichen Code) angezeigt werden, sind:

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(); 
Verwandte Themen