4333

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

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

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

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

Русский

2012-11-16

47 KB

85 чел.

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


 

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

69201. ЗАГАЛЬНІ ВІДОМОСТІ З АВІАЦІЙНОЇ ТЕХНІКИ І ПРО ДІЯЛЬНІСТЬ ФАХІВЦІВ НАПРЯМУ АВІОНІКА 15 MB
  Задачами вивчення навчальної дисципліни є: навчити студентів основам аеродинаміки і динаміки польоту ЛА конструкції ЛА авіаційного двигуна та їх систем; ознайомити з принципами роботи та складом типових систем авіаційної електроніки авіоніки; дати уявлення про організацію...
69202. ОСНОВИ АЕРОДИНАМІКИ ТА ДИНАМІКИ ПОЛЬОТУ 2.97 MB
  При обтіканні повітряним потоком різних тіл частин літальних апаратів виникають сили і моменти які залежать від форми літальних апаратів і впливають на їх льотнотехнічні характеристики. Аеродинаміка вивчає умови виникнення аеродинамічних сил тобто повітряних...
69203. Природа виникнення аеродинамічних сил. Принципи створення піднімальної сили 8.87 MB
  Картина обтікання крила літака потоком повітря показана на рис. Повна аеродинамічна сила крила: а картина обтікання крила літака потоком повітря; б схема створення повної аеродинамічної сили R.21 а наглядно видно що потік обтікає верхню і нижню частини профілю крила неоднаково.
69204. Основні закони руху повітря, що стискається. Загальні відомості про аеродинаміку великих швидкостей 3.81 MB
  Таким чином величина стиснення залежить від відношення швидкості потоку до швидкості звуку. Це відношення називається числом Маха і вважається критерієм стисливості потоку. Чим більше швидкість повітряного потоку швидкість польоту V і менше швидкість звуку...
69205. Хвильова криза. Поняття про критичне число Маха 8.3 MB
  Найменша швидкість дозвукового польоту при якій у якійнебудь точці крила швидкість потоку що обтікає крило стає рівної місцевої швидкості звуку називається критичною швидкістю польоту Vкр а відповідне їй число Маха польоту критичним Мкр.
69206. Основні види руху літального апарату. Горизонтальний політ літака 1.78 MB
  Основними видами руху які розглядаються в динаміці польоту є горизонтальний політ набір висоти зниження зліт посадка віраж та ін. При розрахунках льотних даних літака зручно користуватися графічними залежностями тяги від швидкості і висоти польоту.
69207. Зліт і посадка літака 6.06 MB
  Зліт і посадка є відповідно первинним і завершальним етапами польоту літака. При зльоті й при посадці змінюються швидкість і висота польоту тому рух літака в цих режимах є несталим. Зліт і посадка літака найбільш відповідальні етапи польоту що вимагають від льотчика граничної уваги і точності.
69208. ЛІТАК ТА ЙОГО СИСТЕМИ 1.62 MB
  Швидкісна система координатних осей ОXYZ використовується для вивчення аеродинамічних сил та при розв’язанні задач аеродинамічного розрахунку літака рис. Початок швидкісної системи координатних осей розміщено в центрі мас літака. Головною віссю є швидкісна вісь ОХа направлена по вектору швидкості літака.
69209. Середні величини та показники варіації 167.5 KB
  Середня величина це узагальнююча кількісна характеристика сукупності однотипних явищ по одній варіюючій ознаці. Найважливішою умовою наукового використовування середніх величин в статистичному аналізі суспільних явищ в тому числі й методом динамічних...