Autor | Zpráva | ||
---|---|---|---|
ondra256 Profil |
#1 · Zasláno: 29. 5. 2016, 17:36:53
Zdravím,
mám SQL dump databáze (velikost 1.6MB) a potřebuju ho naimportovat přes phpčko. Dělám to následovně: (mám to ještě obalené do transakce) $content = file_get_contents($dumpPath); $pdo = new \PDO('mysql:host=localhost;dbname=test', 'test', ''); $pdo->query($content); Do query nacpu celý db dump a nechám provést. Chyba žádná nenastane, vykoná se to podezřele rychle a s databází se nic nestane. Jako bych tam nic neimportoval, zůstane prázdná. Když celý obsah dumpu nacpu do admineru a kliknu na vykonat, tak se všechno provede jak má. Nevíte proč se nic nevykonná, když to dělám přes PHP? |
||
rovi Profil |
#2 · Zasláno: 29. 5. 2016, 17:49:02
1. zkontroloval bych var_dump($dumpPath)
2. zkontroloval bych var_dump($content) je databáze test bez hesla? |
||
ondra256 Profil |
#3 · Zasláno: 29. 5. 2016, 17:52:37
Ano všechno je to v pořádku, dotaz se pošle celý
|
||
Keeehi Profil |
#4 · Zasláno: 29. 5. 2016, 17:53:38
Funkce
mysqli_query umí spustit jen jeden dotaz. Pro spuštění více dotazů oddělených středníkem se musí použít mysqli_multi_query . PDO moc neznám, ale nepůjde o ten samý problém? Co jsem tak v rychlosti našel, tak bych zkusil query vyměnit za exec .
|
||
CZechBoY Profil |
Doporučuju stáhnout adminer (1 php skript), který umí mj. importovat databázi ze souboru. Případně jde použít i phpMyAdmin, který je dostupný snad na každém hostingu.
edit: proč ten adminer nemůžeš použít? |
||
Keeehi Profil |
#6 · Zasláno: 29. 5. 2016, 22:48:31
CZechBoY:
Přečti si znovu příspěvek [#1], ondra256 tam sám o admineru píše. Důvod, proč to chce udělat takto neznám, ale tipl bych si, že automatizace. |
||
Časová prodleva: 8 let
|
0