MySQL DUMP als CSV - PHP, MySQL

Ich habe mich umgesehen und nichts scheint zu funktionieren:

$file = "/path/to/file.csv";
$cmd = "mysqldump DATABASE TABLE > ".$file." --host=localhost --user=USER --password=PASS";
$cmd .= " --lock-tables=false --no-create-info --tab=/tmp --fields-terminated-by=","";
exec($cmd);

Alles, was ich versuche, erstellt eine leere CSV-Datei. Irgendwelche Ideen? Vielen Dank.

Antworten:

5 für die Antwort № 1

Ich habe einen Weg gefunden, dies mit mysql über die Befehlszeile zu erreichen -

        $file = "/path/to/file.csv";
if(is_file($file))
unlink($file);
$sql = "SELECT * FROM database.table";
$cmd = "mysql --host=localhost --user=USER --password=PASS --quick -e "".$sql."" > ".$file;
exec($cmd);

2 für die Antwort № 2

Versuchen Sie SQLYog, funktioniert wie ein Charme.

Hier ist ein Link zu einem Download der kostenlosen Community Version

http://www.softpedia.com/progDownload/SQLyog-Community-Edition-Download-82252.html

Dann müssen Sie nur mit der rechten Maustaste auf die fragliche Tabelle klicken und exportieren und CSV usw. auswählen.

Wenn Sie nach dem Code suchen, wie es gemacht wird, dann schauen Sie nach dem Exportieren der Tabelle in der History-Registerkarte nach und sehen Sie, welcher Code ausgeführt wurde.


0 für die Antwort № 3

Was passiert, wenn Sie Folgendes tun: mysqldump DATABASE TABLE> /path/to/file.csv [hat den Rest des Befehls abgeschnitten] von der Befehlszeile?

Funktioniert es?

Deine letzte Zeile versuche:

$cmd .= " --lock-tables=false --no-create-info --tab=/tmp --fields-terminated-by=","";

Die einfachen Anführungszeichen werden nicht in einer einzigen Zeichenfolge in Anführungszeichen gesetzt.


0 für die Antwort № 4

Das > ".$file." Die Umleitung sollte der letzte (oder erste) Teil des Befehls sein


Am beliebtesten