Po załadowaniu bazy danych wywala mi błąd zamiast wrócić do procesu i kontynuować instalowanie danych.
Tu pytanie: jak z poziomu php zaimportować bazę danych?
w tej chwili zrobiłem tak:
(otwieram shell i odpalam ładowanie bazy)
function importSql($database,$filename) { $mysqlDatabaseName = $database; $mysqlUserName = 'myuser'; $mysqlPassword = 'mypassword'; $mysqlHostName = 'localhost'; $mysqlImportFilename = '/var/www/install/sql/'.$database.'/'.$filename; $command = 'mysql --user=' .$mysqlUserName .' --password="' .$mysqlPassword .'" ' .$mysqlDatabaseName .' < ' . escapeshellarg($mysqlImportFilename); switch($worked){ case 0: $result_message .= '<p>The data from the file <b>' .$mysqlImportFilename .'</b> were successfully imported into the database <b>' .$mysqlDatabaseName .'</b></p>'; break; case 1: $result_message .= '<div>An error occurred during the import. Please check if the file is in the same folder as this script. Also check the following data again:<br/><br/><table><tr><td>MySQL Database Name:</td><td><b>' .$mysqlDatabaseName .'</b></td></tr><tr><td>MySQL User Name:</td><td><b>' .$mysqlUserName .'</b></td></tr><tr><td>MySQL Password:</td><td><b>NOTSHOWN</b></td></tr><tr><td>MySQL Host Name:</td><td><b>' .$mysqlHostName .'</b></td></tr><tr><td>MySQL Import Dateiname:</td><td><b>' .$mysqlImportFilename .'</b></td></tr></table></div>'; break; } return ; }
i po załadowaniu bazy dostaję tylko to: Array ( [0] => 00000 [1] => [2] => ), ciekawe jest to, że tylko kiedy baza danych już istnieje ale wcześniej jest sprawdzane czy jest i jeśli jest odpala "DROP DATABASE ..."
za diabła nie mogę wyśledzić o co kaman.
w każdym razie wygląda, że po załadowaniu bazy danych przerywa wykonywaniue skryptu ...
Jakieś pomysły ?
Jak byście to rozwiązali ?