Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Lỗi phân tích cú pháp XML:rác sau phần tử tài liệu

    /**
     *  Rewrite MySQL to MySQLi
     *  http://php.net/manual/en/migration55.deprecated.php
    **/
    $sql = "SELECT * FROM projecten ORDER BY id";
    $res = mysqli_query($sql);

    /**
     *  Adjusted startDoc to include
     *  Encoding and set Indent to tab
     *  instead of spacing.
    **/
    $xml = new XMLWriter();
    $xml->openURI("php://output");
    $Xml->setIndentString ( "	" );
    $Xml->startDocument( '1.0', 'UTF-8', 'no' );
    $xml->setIndent(true);

    /**
     *  Re-usable function to
     *  write a Start/End Element 
     *  to XMLWriter.
     *
     *  Uses CDdata for longer text strings
    **/
    function addNode( $xml, $NodeName, $Value ) {
        $xml->startElement( $NodeName );
        $xml->writeCData( $Value );
        $xml->endElement();      
    }

    /**
     *  Start a Root Element
    **/
   $xml->startElement('projects');

    /**
     *  LoopThrough each Database row.
    **/
   while ($row = mysqli_fetch_assoc($res)) {

        //START PROJECT
        $xml->startElement('project');
        $xml->writeAttribute('id', $row['id']);

            addNode( $xml, "Id", $row["id"] );
            addNode( $xml, "projectnaam", $row['projectnaam'] );
            addNode( $xml, "status", $row['status'] );
            addNode( $xml, "klantnaam", $row['klantnaam'] );
            addNode( $xml, "startdatum", $row['startdatum'] );
            addNode( $xml, "eindddatum", $row['eindddatum'] );

        //End 'Project'.
        $xml->endElement();
    }

    //End Root Element.
    $xml->endElement();

    //EINDE DOCUMENT
    $xml->endDocument(); 

    header('Content-type: text/xml');
    $xml->flush();
  • Đã thay đổi thành MySQL tới MySQLi ! Điều quan trọng là bắt đầu thay đổi ngay bây giờ trong khi bạn có thể! =)
  • Sử dụng các Chức năng! Bạn viết $xml->startElement &$xml->endElement nhiều lần, đặt nó vào một addNode() phương pháp.
  • Đã thêm ' Gốc nút 'để nối thêm từng hàng cơ sở dữ liệu.
  • Sử dụng CData (<![CDATA[text for inclusion within CData tags]]> ), nó sẽ giúp thoát khỏi bất kỳ ký tự khó nào có thể một cách an toàn


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kéo dữ liệu SQL từ hai bảng

  2. Sử dụng MySQL trong môi trường thương mại có hợp pháp không?

  3. Nhận xét lồng nhau trong PHP và MySQL

  4. Chọn giá trị nhỏ nhất từ ​​nhiều cột với PHP / MySQL

  5. Cách chèn chính xác các ký tự utf-8 vào bảng MySQL bằng python