MySQL Datenbank in TXT Datei speichern

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

  • MySQL Datenbank in TXT Datei speichern

    Hi Jungz und Mädelz,

    ich hab eine MySQL Datenbank und will die mit einer php Datei in einer Text Datei zur Sicherung speichen.

    Nur ich komm da nicht ganz klar.
    Ich ruf mit
    $server= mysql_connect("localhost","Hifi","passwort");

    $abrufen = mysql_db_query("mitglieder","select * from iplog");
    $anzahl = mysql_num_rows($abrufen);

    for ($i = 0; $i < $abrufen; $i++)
    {
    $date = mysql_result ($abrufen, $i, "datum");
    $name = mysql_result ($abrufen, $i, "name");
    $ip = mysql_result ($abrufen, $i, "ip");
    $nummer = mysql_result ($abrufen, $i, "nummer");

    }

    meine Daten ab, aber wie kann ich die dann in eine Textdatei schreiben?
    Wenn ich einfach folgendes darunter setze schreibt er nur einen Datensatz und nicht alle in die Textdatei.
    $fp = fopen("sicherung.txt","a");
    if ($fp)
    {
    flock($fp,2);
    $nl = chr(13) . chr(10);
    fputs($fp, "$datum;$name;$ip;$nummer");
    echo "Vielen Dank<p>";
    echo "Ihre Angaben wurden gespeichert<p>";
    flock($fp,3);
    fclose($fp);
    }
    else
    {
    echo "Datei konnte nicht zum";
    echo " Schreiben geöffnet werden";
    }

    Wie kann ich den Code in die for Schleife reinsetzen?

    Danke für eure Antworten

  • #2
    Hmm..mit Copy & Paste ? Aber bitte mit Überlegen..nicht für jeden Datensatz jedesmal die Datei öffnen und schliessen.

    mysql_num_rows() returns the number of rows in a result set
    Das ist etwas umständlich..
    1. der erste Fehler liegt bei dir hier :
    for ($i = 0; $i < $abrufen; $i++) <= anstatt $abrufen muss da $anzahl stehen
    2. du durchläufst zwar jede Zeile einmal..schreibst die Werte aber immer in die selbe Variable..d.h. sie werden überschrieben ! Und das bevor sie überhaupt in die Nähe der Dateischreibecodes kommen.

    Tipp.: Schau dir mal die Funktion mysql_fetch_row() an..dann brauchst du nicht mehr den ganzen oberen Code :

    while ($row = mysql_fetch_row ($abrufen))
    {
    echo "Datum : $row[0]";
    echo "Name : $row[1]";
    usw..
    }

    Kommentar

    Lädt...
    X