Autor Zpráva
ondra256
Profil
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
1. zkontroloval bych var_dump($dumpPath)
2. zkontroloval bych var_dump($content)
je databáze test bez hesla?
ondra256
Profil
Ano všechno je to v pořádku, dotaz se pošle celý
Keeehi
Profil
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
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.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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