4333

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

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

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

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

Русский

2012-11-16

47 KB

84 чел.

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


 

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

83552. Поняття міжнародно-правової відповідальності 38.1 KB
  Комісія міжнародного права ООН визначила зміст міжнародної відповідальності як ті наслідки які те або інше міжнароднопротиправне діяння може мати відповідно до норм міжнародного права в різних випадках наприклад наслідки діяння в плані відшкодування збитків та відповідних санкцій 1. У науці міжнародного права під міжнародноправовою відповідальністю розуміють конкретні негативні юридичні наслідки що настають для суб\'єкта міжнародного права в результаті порушення ним міжнародноправового зобов\'язання. У цілому можна зазначити що поняття...
83553. Кодифікація норм про відповідальність в міжнародному праві 35.22 KB
  Незважаючи на те інститут міжнародної відповідальності є одним із найдавніших інститутів міжнародного права його норми і досі не кодифіковані. Комісія міжнародного права за дорученням Генасамблеї ООН проводить роботу по укладенню уніфікованої кодексу міжнародноправової відповідальності. Основним джерелом норм які стосуються міжнародноправової відповідальності є звичай крім того різними міжнародними договорами закріплюються норми що стосуються відповідальності за ті чи інші види правопорушень чи регламентують застосування...
83554. Підстави міжнародно-правової відповідальності 36.39 KB
  Підставами міжнародно правової відповідальності є передбачені нормами міжнародного права обєктивні і суб\'єктивні ознаки. Розрізняють такі підстави міжнародно-правової відповідальності: — юридичні; — фактичні; — процесуальні. Під юридичними підставами розуміють міжнародно-правові...
83555. Поняття, ознаки і елементи міжнародного правопорушення 36.89 KB
  Міжнародне правопорушення являє собою складне правове явище. З юридичної точки зору, в якості міжнародного правопорушення розглядається міжнародно-протиправне діяння субєкта міжнародних правовідносин
83556. Види і зміст міжнародно-правової відповідальності 42.93 KB
  Політична відповідальність як правило супроводжується застосуванням у відношенні державипорушниці примусових заходів і сполучається з матеріальною відповідальністю. Сатисфакція задоволення як форма політичної відповідальності припускає обов\'язок державиправопорушниці надати задоволення не матеріального характеру відшкодувати моральну шкоду заподіяну честі і гідності іншої держави. Сатисфакція може виявитися в таких діях державиделіквента винного суб\'єкта що зобов\'язаний відшкодувати шкоду заподіяну правопорушенням: офіційне...
83557. Політична відповідальність і її форми 38.62 KB
  Політична відповідальність як правило супроводжується застосуванням у відношенні державипорушниці примусових заходів і сполучається з матеріальною відповідальністю. Сатисфакція задоволення як форма політичної відповідальності припускає обов\'язок державиправопорушниці надати задоволення не матеріального характеру відшкодувати моральну шкоду заподіяну честі і гідності іншої держави. Сатисфакція може виявитися в таких діях державиделіквента винного суб\'єкта що зобов\'язаний відшкодувати шкоду заподіяну правопорушенням: офіційне...
83558. Матеріальна відповідальність і її форми 37.01 KB
  Історично свій початок репарації беруть від інституту контрибуцій що успішно існували в міжнародному граві з глибокої давнини і до кінця XIX сторіччя і носили характер данини. З метою обмеження таких негативних явищ були розроблені статті 4751 Гаазької конвенції про закони і звичаї сухопутної війни 1907 року що обмежували стягнення контрибуцій. При розробці Версальского мирного договору 1919 року країни Антанти були змушені формально відмовитися від контрибуцій замінивши їх репараціями. Фактично на зміну контрибуцій прийшли усі форми...
83559. Санкції і контрзаходи 36.06 KB
  Останнім часом склалася усталена практика щодо застосування термінології: примусові заходи з боку держав позначаються терміном контрзаходи а примусові заходи збоку МО санкціями . Контрзаходи повинні бути співрозмірними спричиненій шкоді й ураховувати тяжкість МПД та права які були порушені тобто бути пропорційними. Контрзаходи припиняються як тільки контрагент виконає свої зобов\'язання.
83560. Міжнародна відповідальність за шкідливі наслідки дій, не заборонених міжнародним правом 38.27 KB
  До першої відносять конвенції про цивільну відповідальність в яких розглядають питання відповідальності оператора а в деяких випадках відповідальності держави з позиції матеріальних та процесуальних норм. Такі договори стосуються питань навігації нафти ядерних матеріалів: Міжнародна конвенція про цивільну відповідальність за шкоду від забруднення нафтою 1969 р. до неї Конвенція про цивільну відповідальність за шкоду спричинену при перевезенні небезпечних вантажів автомобільним залізничним та внутрішнім водним транспортом 1989 р.