mysqldump via system() - problem mit where-option
theresa
- php
0 ChrisB
hallo ihr lieben!
ich zieh tägliche mysql-backups mit einem kleinen php-skript,
funktioniert auch echt toll.
nun möchte ich ein zweites backup erstellen, dass nur bestimmte datensätze
aus der gesamten datenbank ausliest.
hier der relevante, funktionierende befehl:
system('/usr/bin/mysqldump -u $user -p $pass -h localhost $database | gzip > test.gz', $retval);
und so möcht ichs gerne haben, geht aber NICHT:
$last_line = system('/usr/bin/mysqldump -w "userid=1" -u $user -p $pass -h localhost $database | gzip > test.gz', $retval);
sobald ich die where-option einfüge, läuft er nicht mehr durch.
hab ich was bei der formulierung falsch gemacht, oder kann das vielleicht gar nicht gehen?
danke für eure hilfe,
die theresa
Hi,
hier der relevante, funktionierende befehl:
system('/usr/bin/mysqldump -u $user -p $pass -h localhost $database | gzip > test.gz', $retval);und so möcht ichs gerne haben, geht aber NICHT:
$last_line = system('/usr/bin/mysqldump -w "userid=1" -u $user -p $pass -h localhost $database | gzip > test.gz', $retval);sobald ich die where-option einfüge, läuft er nicht mehr durch.
Ist das original das, was du benutzt?
Das PHP-Manual zu system berichtet von Problemen, wenn im Parameter fuer system mehr als zwei double quotes (") auftauchen.
Geht es ohne double quotes? (Wenn keine Sonderzeichen vorkommen, ist es evtl. in diesem simplen Falle auch ohne moeglich.)
Geht es mit einfachen Hochkommata? (Natuerlich im PHP-Code entsprechend escaped.)
MfG ChrisB