Создание базы данных из PHP скрипта (страницы). - Форум
Пятница, 17.05.2024, 11:40 | Приветствую Вас Гость

Жми-форум обо всём

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

  • Страница 1 из 1
  • 1
Модератор форума: RoMkA29  
Форум » Кодинг » PHP » Создание базы данных из PHP скрипта (страницы). (КАК СОЗДАТЬ БАЗУ ДАННЫХ И ТАБЛИЦУ ИЗ СКРИПТА PHP)
Создание базы данных из PHP скрипта (страницы).
RoMkA29Дата: Суббота, 09.02.2013, 17:30 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 264
Репутация: 3
Статус: Offline
Для того, чтоб работал этот скрипт, у вас должна быть установлена база данных MySQL на локальном хосте, ну и конечно сам его величество PHP5, то же должен присутствовать. В первом варианте представлен, лишь сам скрипт создания тестовой базы данных, с именем lphp.

Вариант 1

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


Код
<?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 создаёт базу данных.


Код
<?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>


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

Взято с lphp.ru
Прикрепления:   create.zip (3.9 Kb)
 
Форум » Кодинг » PHP » Создание базы данных из PHP скрипта (страницы). (КАК СОЗДАТЬ БАЗУ ДАННЫХ И ТАБЛИЦУ ИЗ СКРИПТА PHP)
  • Страница 1 из 1
  • 1
Поиск:

Навигация
Block title
Форма входа

Наш бот
Наш бот информер

ICQ:636-921-022
Jabber:zhmibot@jabber.ru
Случайные картинки
Случайная музыка
[11.03.2013][mp3]
Johnyboy - Реабилитация (0)
Johnyboy - Реабилитация
[11.03.2013][mp3]
Анекдоты про наркоманов - Прикольно, послушайте (0)
Анекдоты про наркоманов - Прикольно, послушайте
[22.08.2013][mp3]
Адвайта – Я так тебя люблю (1)
Адвайта – Я так тебя люблю
Опрос
Вы к нам ещё вернетесь?
Всего ответов: 32
Поиск
Обновление
  • Полезные советы для пользователей Windows XP (1)
  • Ключи для Kaspersky CRYSTAL 2013 до 2014 02 02 (2)
  • Network Traffic Monitor (1)
  • Букмекерская контора Betsstore (0)
  • Глючит компьютер,что делать?! (1)
  • Статистика


    Яндекс.Метрика
    Статистика