Autor | Zpráva | ||
---|---|---|---|
ondrej16556 Profil |
#1 · Zasláno: 19. 3. 2010, 20:24:25
Dobrý deň,
Robím zálohový skript ale keď používam zálohu nevymažú sa tabuľky takže sa nenahrajú nové dáta. Používam tento skript: $query = "DROP TABLE budovy; DROP TABLE dedina; DROP TABLE lode; DROP TABLE obchod; DROP TABLE premium; DROP TABLE rebricek_ali; DROP TABLE rebricek_uz; DROP TABLE spravy; DROP TABLE users; DROP TABLE vojaci; DROP TABLE vsetko; DROP TABLE vyskum_akademia; DROP TABLE vyskum_kovarna; DROP TABLE vsetky_budovy"; mysql_query($query); Ale stále mi to nefunguje. Poradíte mi prosím, v čom je chyba? |
||
Shadowek Profil |
#2 · Zasláno: 19. 3. 2010, 20:30:07 · Upravil/a: Shadowek
ono provádíš několik příkazů v jedinném ...
Nevím jak to přesně vysvětlit prostě to musíš rozdělit nejlepe pomocí středníků a pak postupně protáhnout přes query. Viděl bych to takto: $vybuch = explode(";",$query); $iterator = 0; while($iterator <= count($vybuch)){ mysql_query($vybuch[$iterator]); $iterator++; } Edit: Zapomněl jsem zvyšovat $iterator při pruchodu vyklem. |
||
ondrej16556 Profil |
#3 · Zasláno: 19. 3. 2010, 20:37:02
A keď chcem databázu obnoviť?
Používam: <?php require_once "../../db.php"; $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die(""); mysql_select_db($_SESSION["server"]); $file = $_POST['subor']; $subor = "../../Zaloha/$file"; if(File_Exists ("$subor")) { $fp = FOpen("$subor", "r+"); $data = FRead ($fp, FileSize("$subor")); FClose($fp); } $query = "DROP TABLE budovy; DROP TABLE dedina; DROP TABLE lode; DROP TABLE obchod; DROP TABLE premium; DROP TABLE rebricek_ali; DROP TABLE rebricek_uz; DROP TABLE spravy; DROP TABLE users; DROP TABLE vojaci; DROP TABLE vsetko; DROP TABLE vyskum_akademia; DROP TABLE vyskum_kovarna; DROP TABLE vsetky_budovy"; mysql_query($query); $query = "$data"; mysql_query($query); echo '<div class="text">Databáza bola úspešne obnovená.<br><a href="p_zaloha.php" class="odkazy">Späť</a></div>' ?> Ale pri $query = "$data"; -- phpMyAdmin SQL Dump -- version 3.2.2 -- http://www.phpmyadmin.net -- -- Hostiteľ: localhost -- Vygenerované:: 19.Mar, 2010 - 20:15 -- Verzia serveru: 5.1.41 -- Verzia PHP: 5.2.10 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; -- -- Databáza: `sbeta` -- -- -------------------------------------------------------- -- -- Štruktúra tabuľky pre tabuľku `budovy` -- CREATE TABLE IF NOT EXISTS `budovy` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(30) NOT NULL, `nazov` varchar(30) NOT NULL, `stupen` int(25) NOT NULL, `viac` int(60) DEFAULT NULL, `viac2` int(60) DEFAULT NULL, `nova` int(225) DEFAULT NULL, `koniec` int(225) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=107 ; -- -- Sťahujem dáta pre tabuľku `budovy` -- INSERT INTO `budovy` (`id`, `username`, `nazov`, `stupen`, `viac`, `viac2`, `nova`, `koniec`) VALUES (1, 'Aaron', 'Hlavná budova', 3, NULL, NULL, NULL, NULL), (105, 'krotem', 'Hlavná budova', 1, NULL, NULL, NULL, NULL), (3, 'matfj', 'Hlavná budova', 6, NULL, NULL, NULL, NULL), (89, 'opo32', 'Kovároa', 1, NULL, NULL, 1, 6), (6, 'opo32', 'Farma', 4, NULL, NULL, 53, 58), (7, 'opo32', 'Hlinená baoa', 3, NULL, NULL, 54, 59), (8, 'matfj', 'Drevorubec', 3, NULL, NULL, 54, 59), (9, 'Aaron', 'Drevorubec', 1, NULL, NULL, 54, 59), (106, 'opo32', 'Hlavná budova', 6, NULL, NULL, NULL, NULL), (11, 'opo32', 'Kameoolom', 3, NULL, NULL, 54, 59), (12, 'Aaron', 'Kameoolom', 1, NULL, NULL, 54, 59), (13, 'matfj', 'Kameoolom', 3, NULL, NULL, 55, 60), (14, 'Ondrej', 'Hlavná budova', 4, NULL, NULL, NULL, NULL), (15, 'Aaron', 'Ambasáda', 1, 3, NULL, 55, 60), (16, 'Ondrej', 'Farma', 2, NULL, NULL, 56, 61), (104, 'nikaaa', 'Hlavná budova', 1, NULL, NULL, NULL, NULL), (18, 'Aaron', 'Farma', 1, NULL, NULL, 58, 63), (19, 'matfj', 'Hlinená baoa', 3, NULL, NULL, 18, 23), Ako by som toto mohol spraviť? |
||
Shadowek Profil |
#4 · Zasláno: 19. 3. 2010, 22:37:25
Stejným způsobem jako jsem psal výše ...
|
||
AM_ Profil |
#5 · Zasláno: 19. 3. 2010, 23:15:03
Nebo použít mysqli knihovnu místo mysql a její funkci mysqli_multi_query, která umí poslat více dotazů oddělených středníkem přes jedno volání.
|
||
Časová prodleva: 14 let
|
0