| 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: 10 let
|
|||
0