4333

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

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

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

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

Русский

2012-11-16

47 KB

87 чел.

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


 

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

67019. Ігри з учнями початкової школи для розвитку комунікативних здібностей 31.5 KB
  Дихальні вправи: контроль і самоконтроль за частотою дихання привчають дітей після навантаження завжди застосовувати дихальні вправи в тому числі і самостійно. Відповідальний за штрафні очки фіксує кількість штрафних очок які призначає суддя за неправильне виконання вправи або передачу м'яча.
67020. Підготовчі вправи: розмикання приставними кроками в колоні, у шерензі, у колі. Загальнорозвивальні вправи: комплекс ранкової гімнастики 50.5 KB
  На відміну від попередніх у цій програмі навчальний матеріал розподілений за школами до яких увійшли вправи обєднані за способами рухової діяльності а не за видами спорту. Школу культури рухів становлять вправи основної гімнастики стройові вправи і команди елементи акробатики вправи коригувальної спрямованості та ті що повязані із незвичним положенням тіла у просторі.
67021. Загальнорозвивальні вправи з м’ячем. Вправи для розвитку сили. Стрибки в глибину з висоти до 40 см із м`яким приземленням. Зіскок з гімнастичної лави вигнувшись 75 KB
  Школа стрибків об`єднує види стрибків: зі скакалкою, стрибки у глибину, висоту, довжину, опорні. Навчати молодших школярів рухових дій доцільно із застосуванням ігрового методу. Це сприятиме створенню позитивного емоційного клімату і формуванню стійкого інтересу до занять фізичною культурою.
67022. За здоровьем – на футбол! 158.5 KB
  Развивать физические качества учащихся содействовать развитию скоростно-силовых качеств совершенствовать технические действия с мячом умения использовать технические действия с мячом в эстафетах. Оборудование: свисток футбольные мячи кегли мультимедийный проектор ноутбук плакаты эмблемы.
67023. Рухливі ігри 87 KB
  Мета: Виховання інтересу до самостійних занять фізичними вправами, до уроків фізичної культури. Завдання: Виховання уміння займатися фізичними вправами самостійно. Сприяння гармонійному розвитку учнів з допомогою фізичних вправ з футболу. Сприяння розвитку фізичних якостей(швидкості, спритності, швидкісно-силових якостей).
67025. Разработка конкурентной стратегии ООО «ИБС» для выхода компании на рынок специализированных продуктов и услуг для банков для восстановления объемов продаж 1.54 MB
  Подход и опыт ООО «ИБС» позволяют компании вести практически любые информационные проекты, как в организационном, так и в технологическом плане. Среди заказчиков ООО «ИБС» крупнейшие банки, торговые фирмы, промышленные предприятия, гостиницы, строительные и другие организации. Большое внимание уделяется работе с предприятиями и организациями государственного сектора.
67026. Формула професійного успіху (рольова гра «Зустріч у шкільному центрі зайнятості») 236.5 KB
  Ви мабуть замислювались над питанням, що робить людину успішною у наш стрімкий час. Одним із показників успішності є вибір професії. Я вважаю, що саме вибір професії – тяжкий та відповідальний крок у житті кожної людини – знайти своє місце у майбутній долі.
67027. Літературний вечір «Украдене щастя» (інсценізація однойменної драми Івана Франка) 64 KB
  Мета: розкрити глибину філософського змісту драми Івана Франка «Украдене щастя»; розвивати вміння аналізувати художній твір, творчі здібності учнів, навички акторської майстерності; виховувати любов до українського слова, традицій рідного краю.