4333

Работа с базами данных с помощью PHP. СУБД MySQL

Лабораторная работа

Информатика, кибернетика и программирование

Работа с базами данных с помощью PHP. СУБД MySQL. Цель работы: формирование умений применение PHP для доступа к базам данных, и формирование умений работы с MySQL. Теоретическая информация СУБД MySQL и программа phpMyAdmin MySQL - это реляцион...

Русский

2012-11-16

47 KB

88 чел.

Работа с базами данных с помощью PHP. СУБД MySQL.

Цель работы: формирование умений применение PHP для доступа к базам данных, и формирование умений работы с MySQL.

Теоретическая информация

СУБД MySQL и программа phpMyAdmin 

MySQL - это реляционная база данных (официальный сервер - www.mysql.com ).

Некоторые достоинства:

  •  Реляционная.
  •  Многопоточная, т.е. каждое входящее соединение управляется отдельным потоком, это теоретически означает, что одновременно может выполняться любое количество запросов.
  •  Работает по технологии "Клиент-сервер"
  •  Не требовательна к ресурсам
  •  • Бесплатная (под POSIX-системы для некоммерческого использования, для остальных - платная)
  •  Поддерживает язык SQL (хотя и не все)
  •  Распространенная
  •  Имеется множество готовых приложений, работающих с MySQL

phpMyAdmin - программа, полностью написанная на PHP, для администрирования сервера MySQl.

 Некоторые возможности:

  •  Создание, редактирование, удаление баз данных
  •  Создание, редактирование, удаление таблиц баз данных
  •  Создание, редактирование, удаление пользователей
  •  Создание, редактирование, удаление записей в базах данных

Работа с базами данных с помощью PHP 

Одним из ценных качеств языка PHP это наличие интерфейсов к большому количеству систем управления баз данных. Это Abadas D, dBase, Empress, FilePro, Informix, Interbase, mSQL, MySQL, Oracle, PostGreSQL, Solid, Sybase, Velocis, Unix dbm, и другие. Хотя в примерах будем использовать интерфейс к MySQL. Интерфейсы доступа к данным других СУБД выглядят аналогично.

Примеры исходников на PHP:

  Рассмотрим примеры скриптов для добавления, удаления, редактирования и поиска данных в базе данных со следующими полями:

- Имя - user_name

- телефон - phone

- фотография - img (имя файла, который находится в каталоге foto/)


Скрипт обработки загружаемых данных. 

 <?php
/* Определяем значения переменным */
$hostname="localhost";
$username="Ваш_логин";
$password="Ваш_пароль";
/* Имя базы данных */
$dbName="Имя_вашей_базы_данных";
/* Имя таблицы  */
$usertable="Имя_таблицы";
/* Создать соединение с MySql*/
MYSQL_CONNECT($hostname,$username,$password) OR DIE("Не могу подсоединиться");
/* Выбор БД */
MYSQL_SELECT_DB($dbName) or die("Не могу выбрать БД");
/* Введение информации в БД */
$query="INSERT INTO $usertable VALUES ('$user_name','$phone','$img')";
$result=MYSQL_QUERY($query);
/* Закрыть соединение */
MYSQL_CLOSE();
print "Запись введена в БД! <br>";
?>

Скрипт обработки поискового запроса. 


<?php
$hostname="localhost";
$username="Ваш_логин";
$password="Ваш_пароль";
$dbName="Имя_вашей_базы_данных";
$usertable="Имя_таблицы";
/* Создать соединение с MySql*/
mysql_connect($hostname,$username,$password) or die("No connect");
mysql_select_db("$dbName") or die("No select DB");
/* Выбрать людей, имена которых начинаются на $usr_name */
$query="select * from $usertable where user_name like '$user_name%'";
$result=mysql_query($query);
/* Сколько нашлось таких сотрудников? */
$number=mysql_numrows($result);
/* Распечатка выбранных сотрудников */
$i=0;
if ($number == 0)
{
print "Нет данных о $user_name в БД <br>";
}
elseif ($number > 0)
{
while ($i < $number)
{
/* Присвоение переменным значений полей user_name, phone, img для i-й
строки */
$user_name=mysql_result($result,$i,"user_name");
$phone=mysql_result($result,$i,"phone");
$img=mysql_result($result,$i,"img");
/* Вывод найденных значений */
print "<br><img src='foto/$img' height=130><br>";
print "<u> Имя:</u> <br>";
print "$user_name <br><br>";
print "<u> Телефон: </u><br>";
print "$phone <br><br>";
$i++;
print "<hr>";
}
}
?>

Скрипт для удаления данных. 

<?php
$hostname="localhost";
$username="Ваш_логин";
$password="Ваш_пароль";
$dbName="Имя_вашей_базы_данных";
$usertable="Имя_таблицы";
mysql_connect($hostname,$username,$password) or die("No connect");
mysql_select_db("$dbName") or die("No select DB");
/* Удаление записи для поля user_name */
$query="delete from $usertable where user_name='$user_name'";
$result=mysql_query($query);
print "Запись удалена <br>";
?>

Скрипт редактирования данных. 

 <?php
$hostname="localhost";
$username="Ваш_логин";
$password="Ваш_пароль";
$dbName="Имя_вашей_базы_данных";
$usertable="Имя_таблицы";
mysql_connect($hostname,$username,$password) or die("No connect");
mysql_select_db("$dbName") or die("No select DB");
/* Выбор записи по полю user_name */
$query="select * from $usertable where user_name='$user_name'";
$result=mysql_query($query);
/* Определение существования выбранной записи */
$number=mysql_numrows($result);
if ($number==0)
{
print "Нет такой записи!<br>";
}
else
{
/* Если запись выбрана из базы данных, вывести все ее поля в форму для
редактирования и удалить ее */
$phone=mysql_result($result,0,"phone");
$img=mysql_result($result,0,"img");
print "<img src='foto/$img' height=130><br>";
/* Удаление записи */
$query="delete from $usertable where user_name='$user_name'";
$result=mysql_query($query);
/* Создание формы для редактирования */
print "<form method=post action='form5.php'>";
print "<br><b>Введите Ваше имя:</b>";
print "<br><input name='user_name' value='$user_name' size=30>";
print "<br><br><b>Введите номер вашего телефона:</b>";
print "<br><input name='phone' value='$phone' size=10>";
print "<br><br><b>Введите имя фото лат.буквами:</b>";
print "<br><input name='img' value='$img' size=20>";
print "<br><br><input type='submit' value='Зарегистрировать'>";
print "</form>";
}
?>

Скрипт для загрузки отредактированых данных.
<?php
hostname="localhost";
$username="Ваш_логин";
$password="Ваш_пароль";
$dbName="Имя_вашей_базы_данных";
$usertable="Имя_таблицы";
/* Создать соединение */
MYSQL_CONNECT($hostname,$username,$password) OR DIE("Не могу подсоединиться");
/* Выбор БД */
MYSQL_SELECT_DB($dbName) or die("Не могу выбрать БД");
/* Введение информации в БД */
$query="INSERT INTO $usertable VALUES ('$user_name','$phone',''$img')";
$result=MYSQL_QUERY($query);
/* Закрыть соединение */
MYSQL_CLOSE();
print "Запись введена в БД! <br>";
?>

 

Практические задания

Задание 1 

  1.  Зайдите на сервер в программу phpMyAdmin
  2.  Создайте базу данных (название БД должно начинаться с вашего login'а, например - vasy-catalog).
  3.  Создайте таблицу в этой БД со следующими полями (количество символов выставьте на свое усмотрение):
    - Имя (индексируемое)
    - Фамилия (уникальное)
    - Отчество (индексируемое)
    - e-mail (индексируемое)
    - телефон (индексируемое)
    - город (индексируемое)
    - страна (индексируемое)
    - фотография
  4.  Попробуйте загрузить, удалить и отредактировать данные.

Задание 2 

  1.  Создайте форму для добавления записей в эту базу данных (должны присутствовать все поля). Создайте скрипт обработки этого запроса.
  2.  Создайте форму поиска к этой базе данных (должно присутствовать только поле "Фамилия"). Создайте скрипт обработки этого запроса.
  3.   Создайте форму запроса поиска к этой базе данных, для поиска записей которые необходимо редактировать (должны присутствовать все поля). Создайте скрипт обработки этого запроса.
  4.  Создайте форму запроса поиска к этой базе данных, для поиска записей которые необходимо удалить (должно присутствовать только поле "Фамилия"). Создайте скрипт обработки этого запроса.
  5.  Проверьте работоспособность на сервере.
  6.  Сделайте ссылки на первой странице.

 

Литература

  •  Учебник РНР 4.2 (RUS)
  •  Документация на MySQL 


 

А также другие работы, которые могут Вас заинтересовать

25047. Историческая типология рассматривает три основных типа культуры 35 KB
  Доиндустриальная культура: общество с аграрной экономикой и патриархальной традиционной культурой. Древнейшая доиндустриальная культура бесписьменна. Индустриальная культура характеризуется ускоряющимся ростом промышленного производства увеличением городского населения формированием и развитием национальных культур. Постиндустриальная культура получила несколько названий: сверхиндустриальная цивилизация О.
25048. Вербальное общение (знаковое) 34.5 KB
  В любом тексте письменном или устном реализуется система языка. Существует несколько видов речевой деятельности: говорение использование языка для того чтобы чтото сообщить; слушание восприятие содержания звучащей речи; письмо фиксация содержания речи на бумаге; чтение восприятие зафиксированной на бумаге информации. C точки зрения формы существования языка общение делится на устное и письменное а с точки зрения количества участников на межличностное и массовое. С точки зрения социального и культурного статуса...
25049. Соціокультурні світи 34 KB
  Будьякий соціокультурний світ відрізняється не тільки своєрідністю культури але й звичаями життя у ньому. Соціокультурні світи можуть бути замкнуті у сферу якоїнебудь окремої етнічної культури наприклад світ Стародавнього Єгипту чи світ інків. Але на відміну від національних культур вони не обов`язково виникають на основі етнічної спільності і можуть охоплювати різні народи і країни наприклад світ європейського середньовіччя світ арабської культури.
25050. Вихідним моментом інформаційно-семіотичного підходу до культури 58.5 KB
  І такими видами смислів виступають знання цінності і регулятиви. Відповідно цьому знання те що дається пізнанням цінності те що встановлюється за допомогою оцінки і регулятиви те чим регулюються дії представляють собою три основних види смислів. Знання когнітивний смисл лат cognitio знання пізнання це інформація про властивості об'єкту. Невірне помилкове твердження це також знання тільки недостовірні якщо враховувати що у знаннях є елемент суб'єктивності і що істинність їх відносна; Таким чином знання важлива...
25051. Мир культуры во всем его разнообразии и богатстве творится человеком 36.5 KB
  Как человек творит культуру так и культура формирует человека обусловливает цели и смысл его бытия развивает его собственную сущность. Существенными определяющими ведущими для человека в целом являются не биологические а общественные закономерности его развития 191. Анализируя соотношение человека и культуры исследователи отмечают его многоаспектный характер. Духовность человека это богатство мыслей сила чувств и убеждений.
25052. Желчнокаменная болезнь 1.23 MB
  Желчнокаменная болезнь (камни в желчном пузыре) известна с глубокой древности. Упоминания о ней встречаются в трудах врачей эпохи Возрождения. Развитие анатомии в ХVI-ХVII веках способствовало изучению заболеваний печени и желчного пузыря.
25053. Методи й принципи культурології 32 KB
  Він становить епістемологію культури епістемологіяце теорія пізнання представлену загальною системою методологічних підходів принципів і методів пізнання систематизації й аналізу світових культурних процесів: Діахронний виклад явищ фактів і подій світової та вітчизняної культури у хронологічній послідовності. Археологічний вивчення загального стану розвитку культури минулих поколінь на підставі матеріальних знахідок. Психологічний вивчення субєктивних механізмів функціонування культури індивідуальних якостей людини та...
25054. Створення контркультури 38 KB
  Поняття контркультура з'явилось в західній літературі у 1960 р. Контркультура об'єднує концепції які утворюють еклектичну суміш з різних понять екзистенціалізму фрейдизму вульгаризованого марксизму руссоїзму анархізму цинізму східної філософії та релігії. Контркультура протиставляла себе тим що ставила на перше місце чуттєвоемоційне переживання буття що знаходиться за рамками умогляднологічних методів пізнання. Контркультура як правило не просто має парадигму відмінну від парадигми домінуючої культури а й явно протиставляє...