Hallo zusammen,
ich lese schon seit geraumer Zeit mit und hole mir hi und da auch Tipps und Tricks ab - vielen Dank an die Mitglieder !
Nun habe ein Problem bei meinem Script das eine einfache MySQL DB auslesen soll und in eine CSV Datei schreiben soll. Die DB wird ordendlich geöffnet und die Datei wird erstellt. Auch enthält die Datei die Überschriften. Es werden jedoch nicht die Tabelleninhalte ausgegeben bzw. hier bleibt das csv File leer. Wenn ich die MySQL Tabelle direkt aus dem myadmin Portal exportiere, bekomme ich das csv File mit den Tabelleninhalten.
Das Problem tritt nun auf, nachdem ich von PHP 4.x auf PHP 7.x umgestellt habe. Unter PHP 4.x lief es, habe es auch mit PHP 5.6 ohne Erfolg versucht. Ich starte das Script über den internen Bereich auf einer Webseite.
Fällt jemand was dazu ein?
Vielen Dank
Herbert
PHP Version: 7.3
Perl Version: 5.20
MySQL Version: 5.7
Webseite: https://www.freizeitsport.prokulus.de
Ich habe mal beide Exporte in das turmlauf.zip File gepacht.
Hier das Script, eigentlich nix besonderes:
**********************************************************************************************
<?php
$DatabaseHost = "localhost";
$DatabaseUser = "xxxxxx";
$DatabasePassword = "xxxxxx";
$Database = "xxxxxx";
$Table = "turmlauf";
header('Content-Type: text/x-csv');
header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Content-Disposition: attachment; filename=turmlauf.csv');
header('Pragma: no-cache');
$conn = mysqli_connect( 'localhost', 'xxxxxx', 'xxxxxx', 'xxxxxx' );
if( !$conn ) {
echo "Couldn't connect to database!<BR>";
}
$ResultPointer = mysqli_query($conn, "SELECT Name, Vorname, Datenschutz, Verein, Jahrgang, Geschlecht, Klasse, Wettkampf, Email, Notiz FROM $Table");
echo "ID;Name;Vorname;Datenschutz,Verein;Jahrgang;Geschlecht;Klasse;Wettkampf;Email;Notiz"."\r\n";
for($i=0, $Export=""; $i<mysqli_num_rows($ResultPointer); $i++)
{
$Daten = mysqli_fetch_object($ResultPointer);
$Spalte[] = str_replace("\"", "\"\"", $Daten->Name);
$Spalte[] = str_replace("\"", "\"\"", $Daten->Vorname);
$Spalte[] = str_replace("\"", "\"\"", $Daten->Datenschutz);
$Spalte[] = str_replace("\"", "\"\"", $Daten->Verein);
$Spalte[] = str_replace("\"", "\"\"", $Daten->Jahrgang);
$Spalte[] = str_replace("\"", "\"\"", $Daten->Geschlecht);
$Spalte[] = str_replace("\"", "\"\"", $Daten->Klasse);
$Spalte[] = str_replace("\"", "\"\"", $Daten->Wettkampf);
$Spalte[] = str_replace("\"", "\"\"", $Daten->Email);
$Spalte[] = str_replace("\"", "\"\"", $Daten->Notiz);
for($j=0; $j<count($Spalte); $j++)
{
$Export .= "\"" . $Spalte[$j] . "\"";
if($j!=count($Spalte)-1)
{
$Export .= ";";
}
}
$Export .= "\r\n";
$Spalte = "";
}
echo$Export;
?>