1

I am building a Live Search function on my website, I used the W3schools example, which worked perfectly. But I want to use MySQL database instead of the XML file, so I am working on a code to take the MySQL database and turn it into an XML file.

   <?php

  header("Content-type: text/xml");

    include 'dbc.php';

      $query = "SELECT * FROM airports";
      $result = mysql_query($query, $link)
      or die('Error querying database.');

  $xml_output = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
  $xml_output .= "<entries>\n";

  for($x = 0 ; $x < mysql_num_rows($result) ; $x++){
      $row = mysql_fetch_assoc($result);
      $xml_output .= "\t<entry>\n";
      $xml_output .= "\t\t<ident>" . $row['ident'] . "</ident>\n";
          // Escaping illegal characters
          $row['name'] = str_replace("&", "&", $row['name']);
          $row['name'] = str_replace("<", "<", $row['name']);
          $row['name'] = str_replace(">", "&gt;", $row['name']);
          $row['name'] = str_replace("\"", "&quot;", $row['name']);
      $xml_output .= "\t\t<name>" . $row['name'] . "</name>\n";
      $xml_output .= "\t</entry>\n";
  }

  $xml_output .= "</entries>";

  echo $xml_output;

  ?> 

I am getting this error:

 Warning: DOMDocument::load() [domdocument.load]: Start tag expected, '<' not found in /public_html/sql2xml.php, line: 11 in /public_html/livesearch.php on line 12
 no suggestion 

I have read the explanation at: Avoid DOMDocument XML warnings in php But I have no idea how to fix that in my code. Any suggestions?

4

1 に答える 1