tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
405
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Andre267
    Andre267 Andre267 ist offline Mitglied Silber
    Registriert seit
    Jan 2009
    Beiträge
    64
    Schönen guten Tag,

    ich habe mal wieder ein Problem.
    Ich versuche gerade eine mysql abfrage in eine dynamische xml ein zu binden doch irgendwie bekomme ich folgende Fehlermeldung:

    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.
    Hier meine dynamische xml:
    PHP-Code:
    <?php
    header
    ('Content-Type: text/xml'); 
     include(
    "werte.php");
    $meineXML '<?xml version="1.0" encoding="ISO-8859-1" ?>'
    $meineXML .= '<testabc>'

    $meineXML .= '<abc>'
    $meineXML .= $abc;
    $meineXML .= '</abc>';

    $meineXML .= '<abc_pic>'
    $meineXML .= $abc_pic;
    $meineXML .= '</abc_pic>';

    $meineXML .= '<test>';  
    $meineXML .= $test;
    $meineXML .= '</test>'

    $meineXML .= '<test_url>'
    $meineXML .= $test_url;
    $meineXML .= '</test_url>'

    $meineXML .= '<test_titel>'
    $meineXML .= $test_titel;
    $meineXML .= '</test_titel>'

    $meineXML .= '<test_genre>'
    $meineXML .= $test_genre;
    $meineXML .= '</test_genre>'

    $meineXML .= '<test_start>'
    $meineXML .= $test_start;
    $meineXML .= '</test_start>'

    $meineXML .= '<test_end>'
    $meineXML .= $test_end;
    $meineXML .= '</test_end>'

    $meineXML .= '</testabc>'

    echo 
    utf8_encode($meineXML);


    ?>
    Und hier meine werte.php:
    PHP-Code:
    <?php

        
    include("mysql.class.php");
        
    $sql = new mysql("localhost","root","","testabc");
        
    $i 0;
        
    $res $sql->query("SELECT * FROM `gadget` ORDER BY `id` ASC;");
        while(
    $row =  mysql_fetch_array($res))
        {
            
    $i++;
            
    $speicher[$i] = $row[1];
        }



        
    $abc $speicher[1];
        
    $abc_pic $speicher[2];
        
    $test $speicher[3];
        
    $test_url $speicher[4];
        
    $test_titel $speicher[5];
        
    $test_genre $speicher[6];
        
    $test_start $speicher[7];
        
    $test_end $speicher[8];
        
        
    $sql->free_result();

        
    $sql->close_connect();
        
    ?>
    Und zum Schluss noch die mysql.class.php:
    PHP-Code:
    <?
    error_reporting
    (E_ALL);

    /*
        @ PHP5 Mysql-klasse 
        @ Copyright by Web Communication World (www.wccw.in)
        @ Diese Klasse darf frei unter diesem Vermerk eingesetzt, verändert und weitergegeben werden
        @ Weitere Klassen, sind auf www.wccw.in Kostenlos erhältlich


        Verwendete Funktionen:
        @ mysql_connect
        @ mysql_select_db
        @ mysql_error
        @ mysql_query
        @ mysql_fetch_array
        @ mysql_fetch_assoc
        @ mysql_fetch_object
        @ mysql_fetch_row
        @ mysql_num_rows
        @ mysql_real_escape_string
        @ mysql_free_result
        @ mysql_insert_id
        @ mysql_close
        @ htmlspecialchars
        @ trigger_error
    */








    class mysql
    {
        private 
    $host     ''
        private 
    $user     '';
        private 
    $passwort     ''
        private 
    $dbname     '';
        private 
    $last_injection '';
        private 
    $conn_id null;
        
        
        
        
        public function 
    __construct($host$user$passwort$dbname)
        {
            
    $this->host     $host;
            
    $this->user     $user;
            
    $this->passwort $passwort;
            
    $this->dbname     $dbname;
            
    $this->connect_mysql();
            return(
    $this->conn_id);
        }
        
        
        
        private function 
    connect_mysql()
        {
            
    $this->conn_id mysql_connect($this->host,$this->user,$this->passwort);
            
            if(
    $this->conn_id === false)
            {
                
    $message  "Verbindung zur Datenbank nicht m&ouml;glich.<br />\n";
                
    $message .= "Mysql-fehlermeldung: <br />\n";
                
    $message .= mysql_error();
                
                
    trigger_error($message);
                } 
                else 
                {
                
    $this->select_db();
            }
        }
        
        
        
        private function 
    select_db()
        {
            
    $select mysql_select_db($this->dbname,$this->conn_id);
            
            if(
    $select === false)
            {
                
    $message  "Die angegebene Datenbank \"".$this->dbname."\" existiert nicht.<br />\n";
                
    $message .= "Mysql-fehlermeldung: <br />\n";
                
    $message .= mysql_error();
                
                
    trigger_error($message);
            }
        }
        
        
        
        public function 
    query($sqlcode)
        {
            
    $this->last_injection mysql_query($sqlcode);
            
                if(
    $this->last_injection === false)
                {
                    
    $message  "Fehler bei dem Ausf&uuml;hren eines Mysql-codes!<br />\n";
                    
    $message .= "Mysql-Code: " htmlspecialchars($sqlcodeENT_QUOTES) . "<br />\n";
                    
    $message .= "Mysql-fehlermeldung:<br />\n";
                    
    $message .= mysql_error();
                    
    trigger_error($message);
                }
                
            return(
    $this->last_injection);
        }
        
        
        
        public function 
    array_result($sql NULL, &$row '')
        {
            
    $inc '';
            if(
    $sql === NULL)
            {
                
    $inc $this->last_injection;
                } else {
                
    $inc $sql;
            }
            
            
    $row mysql_fetch_array($inc);
            
            return(
    $row);
        }
        
        
        
        public function 
    row_result($sql NULL, &$row '')
        {
            
    $inc '';
            if(
    $sql === NULL)
            {
                
    $inc $this->last_injection;
                } else {
                
    $inc $sql;
            }
            
            
    $row mysql_fetch_row($inc);
            
            return(
    $row);
        }
        
        
        
        public function 
    object_result($sql NULL, &$row '')
        {
            
    $inc '';
            if(
    $sql === NULL)
            {
                
    $inc $this->last_injection;
                } else {
                
    $inc $sql;
            }
            
            
    $row mysql_fetch_object($inc);
            
            return(
    $row);
        }
        
        
        
        public function 
    assoc_result($sql NULL, &$row '')
        {
            
    $inc '';
            if(
    $sql === NULL)
            {
                
    $inc $this->last_injection;
                } else {
                
    $inc $sql;
            }
            
            
    $row mysql_fetch_assoc($inc);
            
            return(
    $row);
        }
        
        
        
        public function 
    num_result($sql NULL)
        {
            
    $inc '';
            if(
    $sql === NULL)
            {
                
    $inc $this->last_injection;
                } else {
                
    $inc $sql;
            }
            
            
    $num mysql_num_rows($inc);
            
            return(
    $num);
        }
        
        
        
        public function 
    sql_string($string)
        {
            return(
    mysql_real_escape_string($string));
        }
        
        
        
        public function 
    free_result($sql NULL)
        {
            
    $inc '';
            if(
    $sql === NULL)
            {
                
    $inc $this->last_injection;
                } else {
                
    $inc $sql;
            }
            
            
    mysql_free_result($inc);
        }
        
        
        
        public function 
    result($set 0$field 0$sql NULL, &$row '')
        {
            
    $inc '';
            if(
    $sql === NULL)
            {
                
    $inc $this->last_injection;
                } else {
                
    $inc $sql;
            }
            
            
    $row mysql_result($result$set$field);
            
            return(
    $row);
        }
        
        
        
        public function 
    insert_id(&$row '')
        {
        
            
    $row mysql_insert_id();
            
            return(
    $row);
        }
        
        
        
        public function 
    close_connect()
        {
            
    mysql_close($this->conn_id);
        }
    }
    ?>
    Hat jemand eine Idee warum das es nicht funktioniert?
    Geändert von Andre267 (11.11.11 um 15:27 Uhr)
     
    MfG:
    Andre267

  2. #2
    gordonk gordonk ist offline Mitglied Gold
    Registriert seit
    Oct 2009
    Ort
    Witten/NRW
    Beiträge
    219
    Hi,
    PHP-Code:
     $speicher[$i] = $row[1]."<br />\n"
    ich glaube in XML sind solche HTML-Tags nicht erlaubt oder irre ich mich ?
     
    Hier könnte Ihre Werbung stehen.

  3. #3
    Avatar von Andre267
    Andre267 Andre267 ist offline Mitglied Silber
    Registriert seit
    Jan 2009
    Beiträge
    64
    Ich habe es mal raus gemacht und so probiert jedoch ist die Fehlermeldung die gleiche. :-/
     
    MfG:
    Andre267

  4. #4
    gordonk gordonk ist offline Mitglied Gold
    Registriert seit
    Oct 2009
    Ort
    Witten/NRW
    Beiträge
    219
    werte.php
    die Zeile:
    PHP-Code:
        echo $speicher[1]; 
    mal raushauen , auskommentieren was auch immer. Vllt hilft das ich bin sonst ratlos
    Übrigens gibst du im XML Header bei encoding "ISO-8859-1" an und encodierst am schluss den String in UTF-8.
    kA ob das so gewollt ist sollte aber nichts mit deinem Fehler zutun haben.

    edit:
    Wenn das auch nicht Hilft lass mal die Zeile
    PHP-Code:
    header('Content-Type: text/xml'); 
    weg und schau dir das mal genau an was der Browser ausgibt , vllt sind da Fehlermeldungen von der MySQL Verbindung drin oder sowas.
    Geändert von gordonk (11.11.11 um 15:18 Uhr)
     
    Hier könnte Ihre Werbung stehen.

  5. #5
    Avatar von Andre267
    Andre267 Andre267 ist offline Mitglied Silber
    Registriert seit
    Jan 2009
    Beiträge
    64
    Habe ich alles gemacht doch eine Fehlermeldung oder so gibt es irgendwie nicht...
    Wenn ich es jetzt wieder rein mache als den header nach dem ich das echo entfernt habe bekomme ich diese Fehlermeldung.

    This page contains the following errors:

    error on line 1 at column 6: XML declaration allowed only at the start of the document
    Below is a rendering of the page up to the first error.
     
    MfG:
    Andre267

  6. #6
    Avatar von Andre267
    Andre267 Andre267 ist offline Mitglied Silber
    Registriert seit
    Jan 2009
    Beiträge
    64
    Hat niemand eine Idee, wodran es liegen könnte?

    Okay hat sich erledigt...

    Ich habe das ganze einfach via fwrite in eine andere Datei geschrieben.
    Geändert von Andre267 (13.11.11 um 15:16 Uhr)
     
    MfG:
    Andre267

Ähnliche Themen

  1. Dynamische Abfrage auf eine Unterkategorie
    Von Florian123 im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 28.09.09, 14:24
  2. Dynamische Abfrage
    Von asupp im Forum PHP
    Antworten: 8
    Letzter Beitrag: 30.06.09, 09:01
  3. Dynamische Eingabefelder im Browser mit MySql Abfrage
    Von wstephan im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 26.02.05, 16:09
  4. Dynamische SQL-Abfrage
    Von luke_the_duke im Forum PHP
    Antworten: 1
    Letzter Beitrag: 02.01.05, 21:10
  5. dynamische abfrage?
    Von Brauni im Forum PHP
    Antworten: 18
    Letzter Beitrag: 27.08.02, 10:42