Разработка интернет-приложений. Лекция 5.

Разработка интернет-приложений. Лекция 5.
Разработка интернет-приложений. Лекция 5.

Лекция 5. Создание веб-приложений на основе PHP и MySQL

На страницу урока →

Структура сервера веб

web

Использование СУБД при разработке сайта

Достоинства:

  • возможность хранения структурированной информации;
  • решение проблемы совместного доступа;
  • гибкость и расширяемость приложения;
  • высокая скорость.

Недостатки:

  • более высокие требования к платформе;
  • необходимо настраивать СУБД;
  • необходимо знать принципы работы с СУБД, язык SQL.

Популярные СУБД для веб-приложений:

Основы MySQL

Простая, надежная и быстрая СУБД для малых и средних приложений. Работает на большинстве платформ. Имеет свободную и коммерческую лицензии.

Для работы с СУБД к ней надо подключиться и выбрать базу данных. По завершении работы — отключиться от СУБД. Все операции с СУБД производятся при помощи языка SQL.

c:\mysql.exe -u root -p

mysql> USE php_mysql;
Database changed

mysql> SELECT id, name, region, residents, founded FROM city;
+----+-----------+-----------------------+-----------+---------+
| id | name      | region                | residents | founded |
+----+-----------+-----------------------+-----------+---------+
|  1 | Волгоград | Волгоградская область |   1018790 |    1589 |
|  2 | Саратов   | Саратовская область   |    839755 |    1590 |
|  3 | Астрахань | Астраханская область  |    527345 |    1558 |
|  4 | Элиста    | Республика Калмыкия   |    104238 |    1865 |
|  5 | Тамбов    | Тамбовская область    |    281834 |    1636 |
+----+-----------+-----------------------+-----------+---------+
5 rows in set (0.00 sec)

mysql> SELECT id, name, region, residents, founded FROM city WHERE id=1;
+----+-----------+-----------------------+-----------+---------+
| id | name      | region                | residents | founded |
+----+-----------+-----------------------+-----------+---------+
|  1 | Волгоград | Волгоградская область |   1018790 |    1589 |
+----+-----------+-----------------------+-----------+---------+
1 row in set (0.00 sec)

mysql> INSERT INTO city SET name='Ростов', region='Ростовская область';
Query OK, 1 row affected, 5 warnings (0.00 sec)

mysql> SELECT id, name, region, residents, founded FROM city;
+----+-----------+-----------------------+-----------+---------+
| id | name      | region                | residents | founded |
+----+-----------+-----------------------+-----------+---------+
|  1 | Волгоград | Волгоградская область |   1018790 |    1589 |
|  2 | Саратов   | Саратовская область   |    839755 |    1590 |
|  3 | Астрахань | Астраханская область  |    527345 |    1558 |
|  4 | Элиста    | Республика Калмыкия   |    104238 |    1865 |
|  5 | Тамбов    | Тамбовская область    |    281834 |    1636 |
|  6 | Ростов    | Ростовская область    |         0 |       0 |
+----+-----------+-----------------------+-----------+---------+
6 rows in set (0.00 sec)

mysql> UPDATE city SET residents=1103733 WHERE id=6;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> SELECT id, name, region, residents, founded FROM city;
+----+-----------+-----------------------+-----------+---------+
| id | name      | region                | residents | founded |
+----+-----------+-----------------------+-----------+---------+
|  1 | Волгоград | Волгоградская область |   1018790 |    1589 |
|  2 | Саратов   | Саратовская область   |    839755 |    1590 |
|  3 | Астрахань | Астраханская область  |    527345 |    1558 |
|  4 | Элиста    | Республика Калмыкия   |    104238 |    1865 |
|  5 | Тамбов    | Тамбовская область    |    281834 |    1636 |
|  6 | Ростов    | Ростовская область    |   1103733 |       0 |
+----+-----------+-----------------------+-----------+---------+
6 rows in set (0.00 sec)

mysql> DELETE FROM city WHERE id=6;
Query OK, 1 row affected (0.00 sec)

mysql> SELECT id, name, region, residents, founded FROM city;
+----+-----------+-----------------------+-----------+---------+
| id | name      | region                | residents | founded |
+----+-----------+-----------------------+-----------+---------+
|  1 | Волгоград | Волгоградская область |   1018790 |    1589 |
|  2 | Саратов   | Саратовская область   |    839755 |    1590 |
|  3 | Астрахань | Астраханская область  |    527345 |    1558 |
|  4 | Элиста    | Республика Калмыкия   |    104238 |    1865 |
|  5 | Тамбов    | Тамбовская область    |    281834 |    1636 |
+----+-----------+-----------------------+-----------+---------+
5 rows in set (0.00 sec)

mysql> QUIT;

Работа с MySQL из PHP

$conn = mysql_connect("localhost","php_mysql","php_mysql_pwd") 
  or die("Невозможно установить соединение: ". mysql_error());
mysql_select_db("php_mysql");
mysql_query("SET NAMES utf8 COLLATE utf8_general_ci");

$sql = "SELECT * FROM `city`";
$result = mysql_query($sql, $conn) or die();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  echo $row["id"] . " " .$row["name"] . " " . $row["region"];
}

$sql = "SELECT * FROM `city` WHERE id = " . $id;
$result = mysql_query($sql, $conn) or die();
$row = mysql_fetch_array($result, MYSQL_ASSOC);
echo $row["id"] . " " .$row["name"] . " " . $row["region"];

$sql = "INSERT INTO city SET name='$name', region='$region'";
$result = mysql_query($sql, $conn) or die();
if ($result) {
  echo "Информация добавлена";
}

mysql_close($conn);

Демонстрационный пример

http://edu.vspu.ru/doc/groups/162/481/denwer-iio-wp.zip

Контрольная работа по предыдущей лекции

Вопрос: Для чего применяются суперглобальные массивы PHP?

Опубликовано: 25.11.2013 г.