Первые шаги: работа с базами данных

Автор: Lubes Сайт: http://php.com.ua/
   
   Работа с базами данных
   Первое, что нужно для создания динамических страничек - база данных, где будет храниться вся информация. Хотите иметь возможность просматривать содержимое таблиц баз данных, делать выборки, добавлять или обновлять данные? Все это можно делать с помощью встроенных функций в РНР для работы с базами данных.
   
   Для начала работы у нас должна быть установлена база PostgreSQL или MySQL. Я рекомендую последнюю, так как она работает под Unix и Windows, более стабильна, быстра и ошибкоустойчива. Еще раз сформулируем нашу задачу: освоить присоединение к серверу базы данных, создание и исполнение SQL запросов, а также работу с ошибками. Без знания этих действий мы вряд ли сможем без проблем управляться с базой данных.
   
   Итак, приступим. Кстати, далее по тексту я буду использовать MySQL в виду изложенных выше причин (хотя с PostgreSQL все действия похожи, надо лишь поменять префикс mysql_ на pg_).
   
   Создадим базу данных телефонных номеров сотрудников вашей фирмы для наших тестов:
   
   shell> mysql -u root
   mysql> create database basa;
   Query OK, 1 row affected (0.00 sec)
   mysql> use basa;
   Database changed
   mysql> CREATE TABLE phone (
   -> id int(10) NOT NULL auto_increment,
   -> name varchar(32) NOT NULL,
   -> phone varchar(32) NOT NULL,
   -> PRIMARY KEY (id)
   -> );
   Query OK, 0 rows affected (0.00 sec)
   mysql> exit
   Bye
   
   Или используйте файл из архива (в конце статьи) basa.sql, поместите его в каталог MySQL и сделайте так:
   
   shell> mysql -u root < basa.sql
   
   А сейчас напишем скрипт view.php, который будет показывать данные из базы данных.
   
   view.php<?
   /* Замените нижеследующие переменные на свои */
   $host = "localhost"; // MySQL server
   $user_db = "root"; // MySQL пользователь
   $pass_db = ""; // MySQL пароль
   $dbase = "basa"; // MySQL база данных
   $dtable = "phone"; // Таблица в базе данных
   
   /* Соединение с сервером базы данных */
   mysql_connect ($host, $user_db, $pass_db);
   /* Выбор базы данных */
   mysql_select_db($dbase);
   /* Создание SQL запроса */
   $sql = "SELECT id, name, phone FROM $dtable";
   /* Исполнение SQL запроса */
   $result = mysql_query($sql);
   /* Проверка количества вернувшихся строчек в результате*/
   $rows = mysql_num_rows($result);
   /* Если нет результата или результат меньше 1, то предупредить нас об этом или вывести результат*/
   if ((!$rows) || ($rows < 1)) {echo "Результатов НЕТ!!!";}
   else {
   echo '<table width="309" border="1" cellspacing="1" cellpadding="0">
   <tr><td width="30">ID</td><td width="166">Имя</td><td width="98">Телефон</td></tr>';
   while(list($id, $name, $phone) = mysql_fetch_row($result)) {
   echo "<tr><td width="30">$id</td><td width="166">$name</td><td width="98">$phone</td></tr>\n";
   }
   }
   print "</table>\n";
   ?>
   
   При запуске этого скрипта мы получим страничку с текстом "Результатов НЕТ!!!", так как в базе данных эти самые данные отсутствуют. Что делать? Перейти к следующему разделу и научиться добавлять данные из форм!
   Передача данных из формы в базу данных
   Создадим одну страничку под названием forma.html с HTML формой и скрипт add.php, который будет обрабатывать данные из этой формы.
   
   forma.html
   <html>
   <head>
   <title>Добавление данных в базу данных</title>
   </head>
   <body bgcolor="#FFFFFF">
   <form name="test" action="add.php" method="post">
   <table cellspacing="2" cellpadding="2" border="0">
   <tr>
   <td>Имя</td>
   <td><input type="text" name="name"></td>
   </tr>
   <tr>
   <td>Телефон</td>
   <td><input type="text" name="phone"></td>
   </tr>
   </table>
   <input type="submit" name="submit" value="Добавить">
   </form>
   </body>
   </html>
   
   add.php
   <?
   /* Замените нижеследующие переменные на свои */
   $host = "localhost"; // MySQL server
   $user_db = "root"; // MySQL пользователь
   $pass_db = ""; // MySQL пароль
   $dbase = "basa"; // MySQL база данных
   $dtable = "phone"; // Таблица в базе данных
   
   /* Соединение с сервером базы данных */
   mysql_connect ($host, $user_db, $pass_db);
   /* Выбор базы данных */
   mysql_select_db($dbase);
   
   $name = $_POST["name"];
   $phone = $_POST["phone"];
   
   // Основные действия скрипта
   // Создание SQL запроса
   $sql = "INSERT INTO $dtable (name, phone) VALUES ('$name', '$phone')";
   
   /* Исполнение SQL запроса */
   $result = mysql_query($sql);
   // Проверка исполнения операции
   if(!$result) {
   echo "<H2>Ошибка!</H2>\n";
   echo mysql_errno().": ".mysql_error()."<P>";
   } else {
   print '<META HTTP-EQUIV="Refresh" CONTENT="2; URL=forma.html">';
   print "Запись <b>$name - $phone</b> создана!";
   //echo phpinfo();
   }
   ?>
   
   Как видите, данные из формы (поля name и phone) РНР понимает как переменные. И эти переменные очень легко можно добавить в базу данных. Теперь при просмотре странички view.phtml Вы увидите то, что собственноручно внесли.
   
   Данные можно обрабатывать скриптом, а также как часть URL, если заменить $_POST на $_GET в теле скрипта. Например: http://localhost/add.php?name=SomeName&phone=268-3962 добавит в базу данных имя SomeName с телефоном 268-3962. Кстати, это вовсе не номер телефона моей девушки - можете не звонить!!!
   
   
   
   
   

Опубликовано: HTTP://WWW.R-T-F-M.INFO, pauk ©® 2000-2011.
All rights reserved.
При перепечатки ссылка на сайт обязательна.
Мнение администрации сайта не всегда совпадает с мнением автора..