Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Работа с базами даных. Взаимодействие с PHP

Содержание

Предложение GROUP BY используется для определения групп выходных строк, к которым могут применяться агрегатные функции (COUNT, MIN, MAX, AVG и SUM).Выборка с агрегатами
Основы веб-программирования. Лекция 6. Работа с базами даных. Взаимодействие с PHP. Предложение GROUP BY используется для определения групп выходных строк, к которым могут применяться агрегатные Если предложение WHERE определяет предикат для фильтрации строк, то предложение HAVING применяется после группировки для определения SELECT model, COUNT(model) as model_count, AVG(price) as avg_price FROM autoGROUP BY modelHAVING Взаимодействие PHP и mysqlMySQLi (MySQL Improved) — расширение драйвера реляционных СУБД, используемого в языке программирования PHP для предоставления доступа к базам данных MySQL.  $mysqli = new mysqli('127.0.0.1', 'your_user', 'your_pass', 'sakila');Создание соединения $selectQuery = 'SELECT field1, field2, field3 FROM table'; $resultQuery = $ourMysqli->query($selectQuery); Выполнение запросов // получить данные одной строки в виде ассоциативного массива $entry = $resultQuery->fetch_assoc(); // получить данные одной строки в виде объекта $entry = $resultQuery->fetch_object(); // получить все строки, вариант № 1 $entries = array(); while ($entry = $resultQuery->fetch_object()) {     $entries[] = $entry; } // получить все строки в виде ассоциативного массива, вариант № 2 $entries = $resultQuery->fetch_all(MYSQLI_ASSOC); // num_rows содержит количество результатов выборки if (!$resultQuery->num_rows) {     // если нет результатов выборки - выполнить какое-то действие } Обработка результатов if ($stmt = $mysqli->prepare(bind_param("s","> PDO - расширение для PHP, позволяющее работать с драйверами более 10 баз данных.PDO Создание подключения$db = new PDO(‘mysql:host=localhost;dbname=testdb’, $login, $passwd); $res = $db->query(“SELECT * FROM users”);Выполнение запроса $db->prepare('SELECT * FROM users WHERE name=:name AND email=:email');$db->execute(array(':name'=>john,':email'=>'john@domain.com'));$result = $db->fetchAll();print_r($result);$dbh->execute(array(':name'=>'alex',':email'=>'alex@domain.com'));print_r($result);Подготовленные запросы Транзакция — это операция, состоящая из одного или нескольких запросов к базе Скачивать ресурсы страницы заново при каждом посещении - это очень неудобно. Из-за Когда сервер возвращает запрос, он также отправляет набор HTTP-заголовков, описывающих тип контента, Допустим, после нашего первого вызова прошло 120 секунд, и браузер начал новый
Слайды презентации

Слайд 2 Предложение GROUP BY используется для определения групп выходных строк, к

Предложение GROUP BY используется для определения групп выходных строк, к которым могут применяться

которым могут применяться агрегатные функции (COUNT, MIN, MAX, AVG и SUM).
Выборка с агрегатами


Слайд 3 Если предложение WHERE определяет предикат для фильтрации строк, то предложение HAVING применяется

Если предложение WHERE определяет предикат для фильтрации строк, то предложение HAVING применяется после группировки для

после группировки для определения аналогичного предиката, фильтрующего группы по

значениям агрегатных функций. Это предложение необходимо для проверки значений, которые получены с помощью агрегатной функции не из отдельных строк источника записей, определенного в предложении FROM, а из групп таких строк. Поэтому такая проверка не может содержаться в предложении WHERE.

Группировка с условием


Слайд 4 SELECT model, COUNT(model) as model_count, AVG(price) as avg_price

SELECT model, COUNT(model) as model_count, AVG(price) as avg_price FROM autoGROUP BY

FROM auto
GROUP BY model
HAVING model_count > 1;

Пример запроса GROUP

BY

Слайд 5
Взаимодействие PHP и mysql
MySQLi (MySQL Improved) — расширение драйвера реляционных СУБД,

Взаимодействие PHP и mysqlMySQLi (MySQL Improved) — расширение драйвера реляционных СУБД, используемого в языке программирования PHP для предоставления доступа к базам данных MySQL. 

используемого в языке программирования PHP для предоставления доступа к базам данных MySQL. 


Слайд 6 $mysqli = new mysqli('127.0.0.1', 'your_user', 'your_pass', 'sakila');
Создание соединения

$mysqli = new mysqli('127.0.0.1', 'your_user', 'your_pass', 'sakila');Создание соединения

Слайд 7 $selectQuery = 'SELECT field1, field2, field3 FROM table'; 
$resultQuery = $ourMysqli->query($selectQuery); 
Выполнение запросов

$selectQuery = 'SELECT field1, field2, field3 FROM table'; $resultQuery = $ourMysqli->query($selectQuery); Выполнение запросов

Слайд 8 // получить данные одной строки в виде ассоциативного массива 
$entry = $resultQuery->fetch_assoc(); 

// получить данные одной строки в виде объекта 
$entry = $resultQuery->fetch_object(); 

// получить все строки, вариант № 1 
$entries = array(); 
while ($entry = $resultQuery->fetch_object()) { 
    $entries[] = $entry; 


// получить все строки в виде ассоциативного массива, вариант № 2 
$entries = $resultQuery->fetch_all(MYSQLI_ASSOC); 

// num_rows содержит количество результатов выборки 
if (!$resultQuery->num_rows) { 
    // если нет результатов выборки - выполнить какое-то действие 

Обработка результатов

// получить данные одной строки в виде ассоциативного массива $entry = $resultQuery->fetch_assoc(); // получить данные одной строки в виде объекта $entry = $resultQuery->fetch_object(); // получить все строки, вариант № 1 $entries = array(); while ($entry = $resultQuery->fetch_object()) {     $entries[] = $entry; } // получить все строки в виде ассоциативного массива, вариант № 2 $entries = $resultQuery->fetch_all(MYSQLI_ASSOC); // num_rows содержит количество результатов выборки if (!$resultQuery->num_rows) {     // если нет результатов выборки - выполнить какое-то действие } Обработка результатов

Слайд 9 if ($stmt = $mysqli->prepare("SELECT model FROM auto WHERE

id=?")) {
$stmt->bind_param("s", $id);
$stmt->execute();
$stmt->bind_result($model);

$stmt->fetch();
printf("%s в записи с id %s", $model, $id);
}

Подготовленные запросы


Слайд 10 PDO - расширение для PHP, позволяющее работать с

PDO - расширение для PHP, позволяющее работать с драйверами более 10 баз данных.PDO

драйверами более 10 баз данных.
PDO


Слайд 11 Создание подключения
$db = new PDO(‘mysql:host=localhost;dbname=testdb’, $login, $passwd);

Создание подключения$db = new PDO(‘mysql:host=localhost;dbname=testdb’, $login, $passwd);

Слайд 12 $res = $db->query(“SELECT * FROM users”);
Выполнение запроса

$res = $db->query(“SELECT * FROM users”);Выполнение запроса

Слайд 13 $db->prepare('SELECT * FROM users WHERE name=:name AND email=:email');
$db->execute(array(':name'=>john,':email'=>'john@domain.com'));
$result

$db->prepare('SELECT * FROM users WHERE name=:name AND email=:email');$db->execute(array(':name'=>john,':email'=>'john@domain.com'));$result = $db->fetchAll();print_r($result);$dbh->execute(array(':name'=>'alex',':email'=>'alex@domain.com'));print_r($result);Подготовленные запросы

= $db->fetchAll();
print_r($result);

$dbh->execute(array(':name'=>'alex',':email'=>'alex@domain.com'));
print_r($result);
Подготовленные запросы


Слайд 14 Транзакция — это операция, состоящая из одного или

Транзакция — это операция, состоящая из одного или нескольких запросов к

нескольких запросов к базе данных. Суть транзакций — обеспечить

корректное выполнение всех запросов в рамках одной транзакции, а так-же обеспечить механизм изоляции транзакций друг от друга для решения проблемы совместного доступа к данным.
Любая транзакция либо выполняется полностью, либо не выполняется вообще.

Транзакции


Слайд 15 Скачивать ресурсы страницы заново при каждом посещении -

Скачивать ресурсы страницы заново при каждом посещении - это очень неудобно.

это очень неудобно. Из-за повторных отправок запроса сайт может

работать медленно. Кроме того, пользователю придется зря тратить большое количество трафика. Именно поэтому кеширование данных имеет огромное значение при оптимизации сайта.

HTTP кэширование


Слайд 17 Когда сервер возвращает запрос, он также отправляет набор

Когда сервер возвращает запрос, он также отправляет набор HTTP-заголовков, описывающих тип

HTTP-заголовков, описывающих тип контента, длину, команды для работы с

кешем, маркер подтверждения и т. д. Например, в примере выше сервер возвращает запрос размером 1024 Б, отдает команду клиенту кешировать его на 120 секунд и отправляет маркер подтверждения (x234dff). Он используется, чтобы проверить, не изменился ли ресурс, после того как срок действия ответа истек.

Механизм работы кэша


Слайд 18 Допустим, после нашего первого вызова прошло 120 секунд,

Допустим, после нашего первого вызова прошло 120 секунд, и браузер начал

и браузер начал новый запрос к тому же ресурсу.

Сначала браузер проверяет локальный кеш и находит предыдущий ответ. Но его использовать нельзя, потому что срок его действия уже истек. Теперь браузер мог бы просто отправить новый запрос и получить ещё один полный ответ. Однако это неэффективно, потому что ресурс не изменился, и не имеет смысла снова скачивать байты, которые уже есть в кеше.
Чтобы избежать этой проблемы, нужно использовать маркеры подтверждения, указанные в заголовках ETag. Сервер создает и возвращает произвольный маркер. Обычно это хеш или другая идентификационная метка файла. Клиент может не знать, как она создается, ему просто нужно отправить ее на сервер при следующем запросе. Если метка осталась прежней, то ресурс не изменился и скачивать его не надо.

  • Имя файла: rabota-s-bazami-danyh-vzaimodeystvie-s-php.pptx
  • Количество просмотров: 106
  • Количество скачиваний: 0