4333

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

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

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

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

Русский

2012-11-16

47 KB

91 чел.

Работа с базами данных с помощью 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 


 

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

54113. Вплив автотранспорту та сільгосптехніки на довкілля 260 KB
  Розвивати соціальні компетентно-комунікативні навички, приймати участь в дискусіях, співробітництві в групах, розвивати спостережливість, творчі, акторські здібності, розширювати кругозір студентів, викликати бажання до пошуку відповідей на запитання в книжках науково-пізнавального характеру, художній і народознавчій літературі, виховувати бережливе ставлення до природи.
54114. Мандрівка в місто культури 71.5 KB
  Раптом вибігає Поміха- Неуміха. Вона одягнена в чорне плаття, волосся розтріпане, на грудях плями, на обличчі - бруд. Вихоплює конверт, швидко продивляється лист і зловтішно викрикує:
54115. Зниклі цивілізації 52 KB
  Сьогодні ми зібралися у цій затишній кімнаті, щоб поговорити про відоме і невідоме, про знане і незнане, про фантастику і реальність. Свідомість людини швидко звикає до чогось нового, раніше незвіданого. Тунель під Ла-Маншем, пілотовані космічні польоти, всесвітня комп’ютерна мережа – усе це частина нашого сьогодення, реальності, яка ще років сто тому здалася б найсміливішою фантазією. Одначе для тих, хто народився після втілення в життя технічної новинки, воно вже не є чудом.
54116. ТЕМАТИЧНА МАНДРІВКА «МИ-УКРАЇНЦІ» 242.5 KB
  Мета: поглиблювати уявлення учнів про свою Батьківщину; розширювати поняття «громадянин», розвивати прагнення бути свідомим громадянином України, її патріотом; розвивати мовлення, уміння спостерігати; сприяти вихованню патріотичних почуттів.
54117. Мандрівка «містом числових нерівностей» 174 KB
  Ми з вами вивчаємо числові нерівності. На наступний урок 1-ша у 9-му класі тематична контрольна робота. Тому сьогодні ваше завдання систематизувати, узагальнити та поглибити ваші знання по темі, застосовувати вивчене до розв’язування вправ, підготуватись до написання контрольної роботи.
54118. Історичний марафон «Що ? Де ? Коли ?» 32.5 KB
  А яку мрію можна здійснити досягнувши цієї планки Стати президентом.Для цієї мети китайці використовували найміцніший шовк середньовічні росіяни пластинки слюди а римляни найтонші пласти агату. А що для цієї мети використовуємо зараз для цієї мети Скло. В назві одного з них Капуцинів залишився слід цієї звички.
54119. Love. Marriage 67.5 KB
  People say that love is a magic feeling. A person in love can be compared with the shining sun. Look at the blackboard. You can see there the sun with long rays. Write the word connected with love.
54121. ІНТЕЛЕКТУАЛЬНО – ТВОРЧА ГРА «ВАМ НАДІЙШОВ ЛИСТ…» 407 KB
  Маршак Пошта Інтелектуально творча гра починається з ранку Ранок: після ранкової лінійки й зарядки оголошується завдання для загонів. І перше завдання для вас це вікторина на найкраще знання вірша Пошта Вікторина 1. Але ваші творчі завдання допоможуть стати справжніми поштарями або хоча б трішечки спробувати. Перше завдання Скласти розрізаного листа і прочитати Друге творче завдання Представити поштову марку для своєї посилки і захистити ескіз Третє творче завдання Образ поштаря та його творчий захист Заключне творче завдання...