Главная | Форум | Статьи | Фaйлы| Картинки WoW | Профиль | Регистрация | Вход

[ Новые сообщения · Правила форума · Поиск · RSS ]

WoW-Info — информационный World of Warcraft портал

Создание базы данных из PHP скрипта (страницы). - Форум

  • Сторінка 1 з 1
  • 1
Создание базы данных из PHP скрипта (страницы).
DiyvolДата: Неділя, 19.12.2010, 01:46 | Сообщение # 1



Diyvol
ЗлОй-АйТИшник
Центурион
Группа: Best of the Best user Wow-info
Сообщений: 356

Замечания:

Оффлайн
Создание базы данных из PHP скрипта (страницы).
Для того, чтоб работал этот скрипт, у вас должна быть установлена база данных MySQL на локальном хосте, ну и конечно сам его величество PHP5, то же должен присутствовать. В первом варианте представлен, лишь сам скрипт создания тестовой базы данных, с именем lphp.

Вариант 1

Листинг № 1 - Создание базы данных с помощью оператора CREATE из скрипт PHP.

Code
<?php   
  // Подключаемся к серверу,   
  // на котором будем создавать базу данных.  
  // В данном случаи это локальный кеомпьютер на котором вы работаете.  
  // Его имя всегда localhost (если его специально не изменили).  
  $HOST = "localhost";        // имя сервера  
  $USER = "root";             // пользователь базы данных MySQL   
  $PASS = "";                 // пароль для доступа к серверу MySQL   
  $DB = "lphp";               // название создаваемой базы данных  

  if(!mysql_connect("$HOST", "$USER", "$PASS")) exit(mysql_error());  
  else {echo "";}  
        

  $r = mysql_query("CREATE DATABASE $DB");  
  if(!$r)exit(mysql_error());  

  if (!mysql_select_db($DB)) exit(mysql_error());  
  else{echo "";}  

  // устанавливаем кодировку      
  mysql_query('SET NAMES cp1251;');  
  echo "База данных успешно создана.";  

  ?>  

  
Вариант 2
index.php - это скрипт создающий базу данных.
create-tab.php - этот скрипт создаёт тестовую таблицу.
st.css - это файл стилей, используемый для представления двух страниц программы.
Поля отмеченные звёздочкой при создании базы данных, обязательны к заполнению. Так же хочу отметить, что таблица создаётся тестовая с одним полем. Я просто хотел показать сам процесс создания и как это может выглядеть. На самом деле вы можете дополнить скрипт по аналогии, дополнительными полями, для создания таблиц. Но на мой взгляд, для этого есть phpMyAdmin, который отлично справляется со своей задачей администрирования базы данных.
Работу с программой начинать строго с файла index.php, в противном случаи будет выведена ошибка и скрипт не сможет корректно работать.

Листинг № 2 - Файл index.php создаёт базу данных.

Code
<?php   
  function crdb()  
  {  
      // Подключаемся к серверу,   
      // на котором будем создавать базу данных.  
      // В данном случаи это локальный кеомпьютер на котором вы работаете.  
      // Его имя всегда localhost (если его специально не изменили).  
      // имя сервера  
      $HOST = htmlspecialchars($_POST['name_server']);   
      // пользователь базы данных MySQL   
      $USER = htmlspecialchars($_POST['login']);  
      // пароль для доступа к серверу MySQL  
      $PASS = htmlspecialchars($_POST['pass']);  
      // название создаваемой базы данных  
      $DB = htmlspecialchars($_POST['name_db']);   
      // Файл конфигурации подключения создаётся автоматом,  
      // при удачном создании базы данных.  
      // Название файла конфигурации   
      $CONFIG = htmlspecialchars($_POST['confg']);   
      if(!empty($HOST) && !empty($USER) && !empty($DB) && !empty($CONFIG))  
      {  
          if(@!mysql_connect("$HOST", "$USER", "$PASS"))  
          {  
              return "<strong>Невозможно подключение к серверу.</strong><br> <br>  
                     <p align=left><b> Возможные причины:</b><br>  
                      1. Не правильно введён пароль. (по умолчанию пороль отсутствует)<br>  
                      2. Имя сервера введено не верно.<br>  
                      3. Логин доступа к серверу базы данных MySQL не идентифицирован.</p>";  
          }  
          $r = mysql_query("CREATE DATABASE $DB");  
          if(!$r)  
          {  
              return "<strong>Невозможно создать базу данных.</strong><br> <br>  
                     <p align=left><b> Возможные причины:</b><br>  
                      База данных уже существует, создана ранее.</p>";  
          }  
  ?>  
  <?php  
  if (!mysql_select_db($DB))  
          {  
              return mysql_error();  
          }  
          mysql_query('SET NAMES cp1251;');  
  // Создаём конфигурационный файл          
  $data = "<?php  
  \$HOST = '$HOST';  
  \$USER = '$USER';  
  \$PASS = '$PASS';  
  \$DB = '$DB';  

  if(@!mysql_connect(\$HOST, \$USER, \$PASS)) exit(mysql_error());  
  if (@!mysql_select_db(\$DB)) exit(mysql_error());  
  mysql_query('SET NAMES cp1251;');  
  ?>";  
          $hd = fopen($CONFIG,"w");  
          $e = fwrite($hd, $data);  
          if($e == -1)  
          {  
             return "Ошибка. Конфигурационный файл не создан.";      
          }  
          return "<span class='green'>База данных \"$DB\" успешно создана.</span><br>  
                    <a href='create-tab.php?config=$CONFIG'>Далее</a>";  
      }  
      else  
      {  
         return "Не все поля заполнены.";      
      }  
  }  
  if($_POST['button'] == "Создать")  
  {  
  $err = crdb();  
  }  
  ?>  
  <link href="/create/st.css" rel="stylesheet" type="text/css">

  <form method="post" action="">
    <div class="centers">
      <table align="center" width="483" border="0" cellpadding="5" cellspacing="5">
        <tr>
          <td colspan="2" align="center"><strong> СОЗДАТЬ ТАБЛИЦУ </strong></td>
        </tr>
        <tr>
          <td width="224" align="right"><span class='red'>*</span>Имя таблицы:</td>
          <td width="227" align="left">
  <input name="name_tab" type="text" value="testers" size="30" maxlength="45">
  </td>
        </tr>
        <tr>
          <td align="right"><span class='red'>*</span>Поле(столбец):</td>
          <td>
  <input name="pole" type="text"  value="id_tester"  size="20" maxlength="25">
  </td>
        </tr>
        <tr>
          <td align="right"><span class='red'>*</span>Тип данных: </td>
          <td><label>
            <select name="tip" id="select">
              <option value="int" selected>int</option>
            </select>
          </label></td>
        </tr>
  <tr>
          <td align="right">Дополнительно:</td>
          <td><label>
            <select name="dop" id="select2">
              <option value="auto_increment">auto_increment </option>
              <option value="0" selected>-</option>
            </select>
          </label></td>
        </tr>
        <tr>
          <td align="right"> </td>
          <td><label>
          <input name="config" type="hidden" value="<?php echo $config ?>">
            <input type="submit" name="cret" id="button" value="Создать" class="buts">
          </label></td>
        </tr>
        <tr>
          <td align="right"> </td>
          <td> </td>
        </tr>
        <tr>
          <td colspan="2" align="center"><span class='red'><?php echo $err; ?></span></td>
        </tr>
      </table>
    </div>
  </form>

Полную версию программы можно скачать, ссылка ниже. Выставлять весь скрипт не вижу смысла, разбирать его на экране монитора устно, вряд ли кто станет. Поэтому предлагаю скачать и протестировать всю программу локально на своём локальном хосте.




Веб-дизайнер.
Работа, учеба и тренажерный зал. Жизнь это когда ты рад тому, что ты устал. Я не вижу смысла в жизни наркоманов. Наркотик в роли пастуха для всех этих баранов. Я иду вперед и не думаю сворачивать.
 
  • Сторінка 1 з 1
  • 1
Пошук:

Новые сообщения в темах
Сдам в аренду сервер и хостинг · (Хост Предложения)
Автор: redlaine
Последнее сообщение в 23:53
хаха :D · (Приколы)
Автор: [N1ke]Medved
Последнее сообщение в 18:40
Autobattle - новый боевой бот ... · (Боты для WoW)
Автор: terrikon
Последнее сообщение в 18:39
PvE руководство для Чернокнижн... · (Чернокнижник)
Автор: Darkensand
Последнее сообщение в 18:38
Пустой свиток (Часть 11) · (Истории WoW)
Автор: R_a_Z_o_R
Последнее сообщение в 18:37
Друиды в Катаклизме: Официальн... · (Друид)
Автор: Darkensand
Последнее сообщение в 18:37
[Баг 3.3.5] Фарм ледяных бадже... · (Читы для WoW)
Автор: Darkensand
Последнее сообщение в 18:35
FarmBot (Бот для фарма руды и ... · (Боты для WoW)
Автор: homma
Последнее сообщение в 18:34
Почему мы сражаемся: ролевая и... · (Воин)
Автор: Darkensand
Последнее сообщение в 18:34
Книги по Wold of Warcraft · (Истории WoW)
Автор: R_a_Z_o_R
Последнее сообщение в 18:33
Маг огня в Cataclysm · (Маг)
Автор: Darkensand
Последнее сообщение в 18:33
Как начать играть в World of W... · (Полезно знать)
Автор: Belkmondesh
Последнее сообщение в 18:32
Характеризация профессий · (Профессии)
Автор: Darkensand
Последнее сообщение в 18:31
Что значит для арканов бета те... · (Маг)
Автор: Darkensand
Последнее сообщение в 18:31

Контакты Контакты Copyright WoW-Info — World of Warcraft портал © 2025 | Условия и правила использования ресурса | Реклама / Услуги
WoW-Info портал.World of Warcraft портал — готовые сервера, сайты, картинки, аддоны, патчи, читы, баги, mangos, ArcEmu, TrinityCore, Warcraft 3, новости, Cataclysm...
Яндекс.Метрика Хостинг від uCoz