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 


 

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

48104. СУТЬ БІРЖІ ТА ЇЇ ЕКОНОМІЧНА ПРИРОДА 383.5 KB
  СУТЬ БІРЖІ ТА ЇЇ ЕКОНОМІЧНА ПРИРОДА Роль та місце біржі в економіці Суть біржі та її економічна природа Функції та характерні ознаки біржової торгівлі Види бірж 1. Роль та місце біржі в економіці Етимологiчно поняття бiржа походить вiд грецького слова âbyrzâ що в перекладі означає сýма гаманець. Три основних значення біржі: обєднання комерційних посередників Місце торгівлі; гуртовий ринок. Суть біржі та її економічна природа Біржа це постійно діючий ринок масових замінних цінностей який функціонує за визначеними...
48105. ІСТОРІЯ УКРАЇНИ. ОПОРНИЙ КОНСПЕКТ ЛЕКЦІЙ 712 KB
  Латигіна доцент кандидат політичних наук Навчальнометодичне видання Історія України Опорний конспект лекцій Запропонований студентам Київського національного торговельноекономічного університету опорний конспект лекцій з курсу Історія України розроблено відповідно до його програми.Стародавня історія України.
48106. Психологія і педагогіка як наука про людину, її світ і діяльність 1.03 MB
  Педагогіка як наука про навчання і виховання людини. Психологія як наука про людину її світ і діяльність Психологія наука і система знань про закономірності механізми психічні факти і явища в житті людини. Протиріччя внутрішнього і зовнішнього в психіці людини розв'язуються через рухи дії і вчинки що виражають ставлення людини до інших людей природи й суспільства. Зміст і динамічну характеристику стосунків людини слід шукати в її мотивах потребах меті якої вона прагне а також у властивостях темпераменту характеру і здібностях.
48107. НАВЧАЛЬНО-МЕТОДИЧНЕ ЗАБЕЗПЕЧЕННЯ. РЕГІОНАЛЬНА ЕКОНОМІКА 2.25 MB
  Реформування економіки України на ринкових засадах вимагає не тільки суттєвих трансформацій у механізмах державного регулювання у інституційному середовищі у виробничій фінансовокредитній податковій бюджетній законодавчій системах України але й відповідних змін на регіональному рівні у соціальноекономічному житті регіонів. Це значно актуалізує значення регіональних аспектів розвитку України. Предмет регіональної економіки охоплює регіональні аспекти державної економічної політики економіки виробництва трудової та фінансової...
48108. Судово-бухгалтерська експертиза 337.5 KB
  Теоретичні основи судовобухгалтерської експертизи Сутність судовобухгалтерської експертизи та її місце в юридичній та економічній науках. Особливості судовобухгалтерської експертизи. Класифікація судовобухгалтерської експертизи. Предмет та обєкти судовобухгалтерської експертизи.
48109. Країнознавство. Опорний конспект лекцій 655 KB
  Курс Країнознавство є складовою циклу економічних дисциплін. Важливість та доцільність введення цього курсу пояснюється збільшуючим значенням комплексу знань про країни з якими Україна має культурні політичні та економічні звязки.
48110. Цивільний процес. Опорний конспект лекцій 3.66 MB
  У травні 2006 року Указом Президента України була схвалена Концепція вдосконалення судівництва для утвердження справедливого суду в Україні відповідно до європейських стандартів що ставить перед собою такі завдання як створення цілеспрямованої науково обґрунтованої методологічної основи розвитку правосуддя в Україні на найближчі десять років; визначення шляхів удосконалення законодавства у цій сфері; якісне підвищення фахового рівня суддівського корпусу. До них належать: 1 незалежність суддів і підпорядкування їх тільки закону; 2...
48111. Страхування. Опорний конспект лекцій 605 KB
  Зміст Тема 1 Страхування в умовах ринкової економіки. 10 Тема 3 Майнове страхування. 16 Тема 4 Страхування відповідальності .
48112. Політологія. Опорні конспекти 2.22 MB
  Курс Політологія саме й розрахований на формування у студентів політичної свідомості знань про політичні процеси та зацікавленість політичними проблемами минулого і сучасності. В процесі семінарських занять студенти закріплюють знання понятійнокатегоріального апарату курсу âПолітологіяâ усвідомлюють сутність політичних феноменів та цінностей виявляють для себе зміст політичних теорій та політичної практики минулого та сучасності. Інформативний блок : Обєкт предмет структура політології Політолóгія від грецького politik ...