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

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

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

  • Страница 1 из 1
  • 1
Модератор форума: RoMkA29  
Создание базы данных из 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)
 
  • Страница 1 из 1
  • 1
Поиск:

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

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

ICQ:636-921-022
Jabber:zhmibot@jabber.ru
Случайные картинки
Случайная музыка
[11.03.2013][mp3]
Ярмак - Пидаросия (0)
Ярмак - Пидаросия
[11.03.2013][mp3]
T1One & Shot - Ты не первая (0)
T1One & Shot - Ты не первая
[12.03.2013][mp3]
Schok/Dakota – не держи меня, оставь возьми ударь если хочеш (0)
Schok/Dakota – не держи меня, оставь возьми ударь если хочеш
Опрос
Вы нашли тут что искали?
Всего ответов: 17
Поиск
Обновление
  • Куплю, обмен швейцарские франки 8 серии, английские фунты (1)
  • Раздача Халявы (ICQ Дедиков Wmz Wmr, Steam аккаунты к играм (1)
  • Мы же русские люди, нам не привыкать привыкать! (1)
  • Букмекерская контора Betsstore (1)
  • Полезные советы для пользователей Windows XP (1)
  • Статистика


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