Import zálohy *.sql
7 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Dobrý den, chtěl bych si udělat zálohovací program pro svou DB. Zatím stagnuji na tom, že žádný algoritmus co jsem použil nedokázal soubor uploadovat a vložit do DB. Je to zde na serveru zakázáno nebo je na to něco potřeba? Pokud jen píši špatně syntaxi prosím o nasměrování jak mám postupovat.
-
Dobrý den, zálohy databáze můžete vytvářet i importovat i přes rozhraní phpMyAdmin, do kterého se můžete přihlásit přes administraci v sekci nastavení mysql. Co se týká Vašeho algoritmu, těžko určit proč nefunguje když nevíme při jaké operaci selže.
-
Mě jde o to, abych nemusel vcházet do rozhraní phpmyadmin. Potřebouju exportovaný *.sql soubor importovat pomocí php. Zde je kod: <?php $filename = 'moje_zaloha.sql';$mysql_host = 'host';$mysql_username = 'root';$mysql_password = '';$mysql_database = 'dump'; mysql_connect($mysql_host, $mysql_username, $mysql_password) or die('Chyba v připojení : MySQL server: ' . mysql_error()); mysql_select_db($mysql_database) or die('Chyba ve vybrání DB: ' . mysql_error()); $templine = ''; $lines = file($filename); foreach ($lines as $line) { if (substr($line, 0, 2) == '--' || $line == '') continue; $templine .= $line; if (substr(trim($line), -1, 1) == ';'){ mysql_query($templine) or print('Chyba ve vkládání QUERY příkazu \'<strong>' . $templine . '\': ' . mysql_error() . '<br /><br />'); $templine = ''; } } echo "Záloha vpořádku importována"; ?>
-
Pokud používáte tyto údaje (host, root, dump), tak s těmi se určitě nepřihlásíte. Na čem kód padne?
-
Údeja jsem zkreslil, naštěstí už jsem se dohrabal k výsledku. Pro budou cí generace mi pohlo tohle : <?php $filename = 'moje_zaloha.sql'; $db = new PDO('mysql:host=localhost;dbname=dump', 'root', '123456'); $sqlJob = file_get_contents($filename); $db->exec($sqlJob); Děkuji za ochotu Chopin.
-
On to resil na jinem forku. Program ma v podstate dobre, chybu jsme tam nasli v sql souboru. "Kit" mu tam napsal reseni v PDO, ktere chybu nejspis ignoruje :) <?php $mysql_host = 'localhost'; $mysql_user = 'root'; $mysql_psw = ''; $mysql_db = 'test'; $filename = 'import.sql'; mysql_connect($mysql_host, $mysql_user, $mysql_psw) or die('Chyba v připojení : MySQL server: ' . mysql_error()); mysql_select_db($mysql_db) or die('Chyba ve vybrání DB: ' . mysql_error()); $templine = ''; $lines = file($filename); foreach ($lines as $line) { if (substr($line, 0, 2) == '--' || $line == '') { echo "Vynechano: <pre>$line</pre>"; continue; } $templine .= $line; if (substr(trim($line), -1, 1) == ';') { $result = mysql_query($templine); if ($result) {mysql_free_result($result);} else { echo '<br>Chyba ve vkládání QUERY příkazu <pre>' . htmlspecialchars($templine) . '<br>' . mysql_error() . '</pre>'; } $templine = ''; } } echo "Konec importu"; ?> -- USE `drdforum.mys4942`; smazano DROP TABLE IF EXISTS ARTICLES; CREATE TABLE `ARTICLES` ( `ID` int(5) NOT NULL AUTO_INCREMENT, `TITLE` varchar(65) NOT NULL, `CONTENT` text NOT NULL, -- NULL, smazano `IMG` varchar(255) NOT NULL, PRIMARY KEY (`ID`) ) ENGINE=InnoDB AUTO_INCREMENT=102 DEFAULT CHARSET=utf8; -- INSERT INTO ARTICLES VALUES("1", .... další řádky kodu... smazano
-
Jojo škoda, že sem to nevidel tehdy... :)