Autor Zpráva
Měsíček
Profil
Potřeboval bych poradit jak se pomocí PHP dá udělat záloha určité tabulky*, kterou určím, nenašel jsem na to zatím žádný příklad ani příkaz. Děkuji za případné rady.

*aby se vytvořil nový soubor s mým názvem a obsahem tabulky.
Měsíček
Profil
No tak, copak jste nikdo nepochopili to co jsem napsal? :D Vážně na tomhle váznu.
Kajman_
Profil *
Můžete zkusit nějaký projekt zde
http://www.phpclasses.org/searchtag/database+backup/by/package.html
nebo třeba nějak použít kód z phpmyadmina.

Jedním příkazem by to šlo jen, pokud můžet pouštět systémový příkaz mysqldump, což většinou povolené není.
Joker
Profil
Vždyť je to prosté jako Bulharská striptérka...
select * from tabulka a získaná data se pak prostě zapíší do souboru.

Případně se ta data přeformulují na parametry příkazu INSERT a může vzniknout rovnou SQL dump.
Měsíček
Profil
Joker:

ou, toš takové řešení by mě nenapadlo :D dobrá jdu to zkusit.
imploder
Profil
PHPmyAdmin má příkaz dump, který je udělaný v PHP, takže funguje i bez přístupu k příkazu mysqldump přímo od mysql. Bastlit si něco takového sám mi nepřijde jako moc dobrý nápad, je to ztráta času a hrozí pak, že na něco zapomenete a záloha nepůjde jednoduše obnovit. Např. zmíněné "select * from tabulka" vypíše jenom obsah tabulky, ale už ne její sloupce a atributy; taky se musí při převodu do SQL příkazů hodnoty správně escapovat. Lepší je použít už hotový prověřený skript, jako ten v PHPmyAdminu.
Moderátor Chamurappi: Netřeba dál rozvíjet, toto dva roky staré vlákno vytáhl na úvodní stránku již smazaný nesouvisející příspěvek.
kluk
Profil *
$tableName = 'user';
$backupFile = 'backup/mypet.sql';
$query = "SELECT * INTO OUTFILE '$backupFile' FROM $tableName";
$result = mysql_query($query);
caterpilar
Profil *
Jenže když nechám nastevené
$backupFile = 'backup/mypet.sql';
nebo cokoli jiného, tak se výsledek uloží někam do c:\Program Files\EasyPHP-5.3.2\mysql\data\
Pokud ukládám zálohu na lokání pc je potřeba uvádět absolutní cestu např. C://zaloha_db/tabulka.sql

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: