Sql Select * Into Outfile

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Sql Select * Into Outfile

    Hallo Gemeinde,

    ich habe ein Problem mit SQL.
    Ich wollte einge Sachen in eine reine Ascii Datei schreiben.
    Leider funktioniert es Lokal prima, jedoch auf meinem Webserver nicht.

    PHP-Code:
                 $query "SELECT *
                    INTO OUTFILE '
    $curDir/$db_table[1].dat'
                    FIELDS
                        TERMINATED BY '&&'
                        OPTIONALLY ENCLOSED BY ''
                    LINES
                        TERMINATED BY '\n' 
                    FROM 
    $db_table[1]";
                
    $result mysql_query($query) ; 
    Kann es sein, das MySQL keine Rechte hat in den Apache Ordner bsp. web2/html/... zu schreiben?
    Muss ich etwas an meinem Server ändern???

    Hoffe auf Hilfe, vielen Dank schonmal im Vorraus

  • #2
    kann es sein, dass MySQL überhaupt keine FILE privileges hat?
    1. GRANT FILE ON dbname.tablename
    statt dbname und tablename kann auch jeweils der * stehen (für alle Tabellen/Datenbanken)
    2. chmod a+rw für den Zielordner (und auf die Datei, wenn schon vorhanden). Beispiele
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      Habe gedacht, dass das mit den Privilege die Lösung wäre. Leider funktioniert es immer noch nicht richtig.

      Hast du vielleicht noch einen Lösungsansatz?

      Kommentar


      • #4
        Scheint wohl nicht zu gehen.
        Für alle die interessiert sind, ich habe es mit der "normalen" Methode auch lösen können.:

        PHP-Code:
                    # include pear modules
                    
        require_once 'PEAR.php';
                    require_once 
        'DB.php';
                    require_once 
        'DB/mysql.php';
                    
                    
        # Connect to DB
                    
        $dbh DB::connect"mysql://" DBUSER ":" DBPASS "@" DBHOST ."/" DBNAME true );
                      if (
        DB::isError($dbh)) { 
                    die(
        "Konnte kein Verbindung herstellen. ".$dbh->getMessage()); 
                    } 
                    
                    
        # Select affected rows
                    
        $query_rSCount "SELECT bid, anrede, vorname, zuname, strasse, plz_ort, tel, mobil, fax, email FROM $db_table[0] WHERE a_nr='$IDFromFile'";        
                    
                    
        # Write Data
                    
        if ($fh = @fopen($curDir."/Bestellungen.dat","w")){
                        
        $rs $dbh->query($query_rSCount);
                        
                        if(
        DB::isError($rs)){
                           die(
        "Error retrieving data<br>SQL: $query".$rs->getMessage());
                        }
                        
                        while(
        $row $rs->fetchRow()){
                            
        $line join("&&",$row);
                            
        $line "$line\n";
                            
        fputs($fh,$line) or die("Konnte Eintrag nicht schreiben!<br>Datensatz: $line<br>");
                        }
                        
        fclose($fh);
                        
        chmod ($curDir."/Bestellungen.dat"0777);
                    
                        
        # Get Count Items | Write into .info File
                        
        $countDB mysql_fetch_array(mysql_query("SELECT COUNT(bid) AS count FROM $db_table[0] WHERE a_nr='$IDFromFile'"));
                        if(
        $fp = @fopen($curDir."/Bestellungen.info","w")){
                                
                                
        fwrite($fp,$countDB["count"]."\n"."bid&&anrede&&vorname&&zuname&&strasse&&plz_ort&&tel&&mobil&&fax&&email"); 
                            
        fclose($fp);
                            
        chmod ($curDir."/Bestellungen.info"0777);
                            
                            echo 
        "Liste <b>Bestellungen</b> wurde erfolgreich!<br>";
                        }else{
                            echo 
        "<font color=\"#CC0000\"><b>Fehler:</b></font> Kann Beschreibung der Liste <b>Bestellungen</b> nicht exportieren! - Keine Schreibrechte?<br>";
                        }            
                    
                    } 

        Kommentar

        Lädt...
        X