O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

PHP and MySQL

145 visualizações

Publicada em

PHP and MySQL
https://university.noveogroup.ru

Publicada em: Educação
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

PHP and MySQL

  1. 1. PHP & MySQL Web Владимир Бобров
  2. 2. MySql, MySQLi, PDO MySql - устаревшее расширение, его не используем Выбираем в основном между MySQLi и PDO.
  3. 3. MySQLi vs PDO Основные отличия: поддержка процедурного интерфейса и поддержка асинхронных не блокирующих запросов в MySQli, и поддержка client-side prepared statements.
  4. 4. MySqli объектно-ориентированный и процедурный $mysqli = new mysqli(‘localhost’, ‘user’, ‘god’, ‘db_name’); $mysqli->close(); $mysqli = mysqli_connect(‘localhost’, ‘user’, ‘god’, ‘db_name’); $res = mysqli_query($mysqli, “SELECT * FROM table”);
  5. 5. PDO Расширение Объекты данных PHP (PDO) определяет простой и согласованный интерфейс для доступа к базам данных в PHP. Каждый драйвер базы данных, в котором реализован этот интерфейс, может представить специфичный для базы данных функционал в виде стандартных функций расширения
  6. 6. PDO продолжение PDO обеспечивает абстракцию (доступа к данным). Это значит, что вне зависимости от того, какая конкретная база данных используется, вы можете пользоваться одними и теми функциями для выполнения запросов и выборки данных. PDO не абстрагирует саму базу данных, это расширение не переписывает SQL запросы и не эмулирует отсутствующий в СУБД функционал. Если нужно именно это, необходимо воспользоваться полноценной абстракцией базы данных.
  7. 7. Подготовленные запросы в mysqli
  8. 8. Подготовленные запросы в PDO
  9. 9. Типы данных MySQLi • mysqli • mysqli_stmt • mysqli_result
  10. 10. Получение данных mysqli ● mysqli_result::fetch_all — Выбирает все строки из результирующего набора и помещает их в ассоциативный массив, обычный массив или в оба ● mysqli_result::fetch_array — Выбирает одну строку из результирующего набора и помещает ее в ассоциативный массив, обычный массив или в оба ● mysqli_result::fetch_assoc — Извлекает результирующий ряд в виде ассоциативного массива ● mysqli_result::fetch_field_direct — Получение метаданных конкретного поля ● mysqli_result::fetch_field — Возвращает следующее поле результирующего набора ● mysqli_result::fetch_fields — Возвращает массив объектов, представляющих поля результирующего набора ● mysqli_result::fetch_object — Возвращает текущую строку результирующего набора в виде объекта ● mysqli_result::fetch_row — Получение строки результирующей таблицы в виде массива ● mysqli_result::$field_count — Получение количества полей в результирующем наборе
  11. 11. Получение данных PDO ● PDOStatement::fetch — Извлечение следующей строки из результирующего набора ● PDOStatement::fetchAll — Возвращает массив, содержащий все строки результирующего набора ● PDOStatement::fetchColumn — Возвращает данные одного столбца следующей строки результирующего набора ● PDOStatement::fetchObject — Извлекает следующую строку и возвращает ее в виде объекта ● PDOStatement::getAttribute — Получение значения атрибута запроса PDOStatement ● PDOStatement::getColumnMeta — Возвращает метаданные столбца в результирующей таблице ● PDOStatement::nextRowset — Переход к следующему набору строк в результате запроса ● PDOStatement::rowCount — Возвращает количество строк, модифицированных последним
  12. 12. Хранимые процедуры
  13. 13. Множественные запросы MySQL поддерживает наличие нескольких SQL предложений в тексте одного запроса. Пересылка на сервер нескольких выражений в одном запроса уменьшает количество клиент-серверных взаимодействий, но требует специальной обработки. Множественные запросы, или мультизапросы, должны запускаться функцией mysqli_multi_query(). Отдельные SQL предложения в мультизапросе отделяются точкой с запятой.
  14. 14. Множественные запросы
  15. 15. Active Records Пусть существует таблица в базе данных. Для данной таблицы создаётся специальный класс AR, являющийся отражением (представлением) таблицы, таким образом, что: ● каждый экземпляр данного класса соответствует одной записи таблицы; ● при создании нового экземпляра класса (и заполнении соответствующих полей) в таблицу добавляется новая запись; ● при чтении полей объекта считываются соответствующие значения записи таблицы баз данных; ● при изменении (удалении) какого-либо объекта изменяется (удаляется) соответствующая ему запись.

×