2013-04-30 2 views
0

Я создаю шаблон, который использует CMS, и я дам его другим людям. Веб-шаблон требует пару баз данных, которые я создал в phpMyAdmin. Если кто-то другой будет использовать это, им нужны одни и те же таблицы, поэтому мне было интересно, есть ли файл, который я могу написать, который они могут установить или запустить на своем сервере, который будет создавать базы данных и таблицы? Как и при установке Wordpress, он создает для вас свои таблицы.Файл, который создает таблицы базы данных

+0

Записать все запросы создания таблицы в 'php' файл, а затем запустить его во время установки вашей CMS. –

+0

@YogeshSuthar «установка» - это просто загрузка пользователем файлов на их сервер. Как мне это сделать? – zachstarnes

+0

Как я уже сказал, для создания файла 'PHP' будут выполняться все запросы на создание таблиц. Попросите пользователя запустить этот php-файл на вашем сервере и после этого настройте шаблон. –

ответ

0

Вы можете просто экспортировать базу данных внутри PhpMyAdmin, а затем есть PHP-файл, который занимает несколько входов, как имя хоста, имя пользователя и т.д. , который затем запускает SQL-дамп.

Что-то вроде:

<?php 

    if(!isset($_POST['hostname'])) 
     die('<input name="hostname" placeholder="Host name">' . 
      '<input name="username" placeholder="Username">' . 
      '<input name="password" placeholder="Password">' . 
      '<input name="database" placeholder="Database">' . 
      '<input type="submit">'); 

    $dh = mysqli_connect($_POST['hostname'], $_POST['username'], 
         $_POST['password'], $_POST['database']); 

    mysqli_multi_query($dh, "-- Your dump file here 

         CREATE TABLE IF NOT EXISTS `mytable` (
         `mycolumn` VARCHAR(11) NOT NULL 
        ) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

         CREATE TABLE IF NOT EXISTS `another` (
         `hello` INT(4) NOT NULL 
        ) ENGINE=InnoDB DEFAULT CHARSET=latin1 
    "); 

?> 
+0

Есть ли способ сделать это в PDO? – zachstarnes

+0

@zachstarnes Конечно, применяется тот же базовый принцип. –

+0

хорошо, просто возьмите то, что вы набрали выше, и сделайте это для всех баз данных и таблиц? Итак, после mycolumn вы поместили бы запятую и остальные имена столбцов? – zachstarnes

2

Как насчет использования таблиц mysqldump в вашем шаблоне cms? Вы можете проверить документацию here Таким образом, вы будете иметь дамп схемы ваших таблиц

Смежные вопросы