Задать вопрос
@Brain_code

Как я могу использовать импорт моих файлов (циклом) sql после импорта основной базы данных?

// Mysql connect
$conn = new PDO(
    "mysql:host=".$settings['db']['host'].";dbname=".$settings['db']['name'].";port=".$settings['db']['port'].";",
    $settings['db']['user'],
    $settings['db']['password']
);


if(file_exists($settings['dump'])){

    $query = file_get_contents($settings['dump']);
    $stmt = $conn->prepare($query);

    sleep(1);
    
    // import main DB
    if($stmt->execute()){
        $stmt->closeCursor();

        // Import of additional tables
        importAdditionalTables($conn, $settings);

    }
}



function importAdditionalTables($conn, $prefix){
   $path = './installation/sql/';
   $sqlFilesName = getSqlFileNames($path);
   foreach($sqlFilesName as $fileName){
       $file = $path.$fileName;
       setSQLSettings($file, $prefix);

       $query = file_get_contents($file);
       $stmt = $conn->prepare($query);
       $result = $stmt->execute();
       $stmt->closeCursor();

       if(!$result){
           throw new Exception("Error import additional file: $file");
       }
   }
   sleep(1);
}


Мой метод importAdditionalTables не импортирует мои дополнительные файлы
Возможно, моя проблема в цикле, который я использую неправильно.
Сначала мне нужно импортировать основную базу данных, а затем список файлов sql.
  • Вопрос задан
  • 68 просмотров
Подписаться 1 Средний 10 комментариев
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега MySQL
{PHP, MySql, HTML, JS, CSS} developer
Для начала, надо видеть ошибки, для этого:
// Mysql connect
$opt = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION];
$conn = new PDO(
    "mysql:host=".$settings['db']['host'].";dbname=".$settings['db']['name'].";port=".$settings['db']['port'].";",
    $settings['db']['user'],
    $settings['db']['password'],
    $opt
);
...
После этого смотреть что вылазит в ошибках.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы