САМОСТОЯТЕЛЬНОЕ ОБУЧЕНИЕ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ
×

PHP5 Учебник

PHP Главная PHP Введение PHP Установка PHP Синтаксис PHP Переменные PHP Echo/Print PHP Типы данных PHP Строки PHP Константы PHP Операторы PHP Заявления if...else PHP Заявления switch PHP Цикл while PHP Циклы for, foreach PHP Функции PHP Массивы PHP Сортировка массивов PHP Суперглобальные массивы

PHP Формы

PHP Формы PHP Проверка форм PHP Поля форм PHP Проверка почты PHP Полная форма

PHP Продвинутый

PHP Мульти массивы PHP Дата и время PHP Подключение PHP Обработка файлов PHP Открыть файл PHP Создать файл PHP Загрузить файл PHP Файлы cookie PHP Проведение сессий PHP Фильтры PHP Расширенные фильтры PHP Обработка ошибок PHP Обработка исключений

MySQL

MySQL База данных MySQL Установить MySQL Создать БД MySQL Создать таблицу MySQL Вставить данные MySQL Получить ID MySQL Вставить записи MySQL Подготовленные MySQL Выбрать данные MySQL Удалить данные MySQL Обновить данные MySQL Лимит данных

PHP - XML

PHP XML Парсер PHP XML Анализатор PHP XML Вывод PHP XML Экспат PHP XML DOM

PHP - AJAX

AJAX Введение AJAX PHP AJAX База данных AJAX XML AJAX Живой Поиск AJAX RSS Считывание AJAX Опрос

PHP Примеры

PHP Примеры

PHP Справочник

PHP Краткий обзор PHP Массив PHP Календарь PHP Дата/Время PHP Директория PHP Ошибка PHP Файловая система PHP Фильтр PHP FTP PHP HTTP PHP JSON PHP Libxml PHP Почта PHP Математика PHP Различные PHP MySQLi PHP Локальная сеть PHP Регулярное выражение PHP Простой XML PHP Поток PHP Строки PHP Переменная обработка PHP XML Парсер PHP Zip файлы PHP Часовой пояс

PHP5 MySQL Установить



PHP5 работает с базой данных MySQL, используя:

  • MySQLi - расширение "i", улучшеный стандарт
  • PDO - PHP, данные объектов

Ранее в версиях PHP расширения было MySQL. Однако, это расширение отменили в 2012 году.


Что использовать MySQLi или PDO?

Если вам нужен короткий ответ, выбирайте "Что вам нравится".

MySQLi и PDO, имеют свои преимущества:

PDO работает на различных 12 системах баз данных, а MySQLi, с базами данных MySQL

Так что, если вам придется переключить проект, чтобы использовать другую базу данных, PDO делает процесс переключения легче. Вам потребуется только, изменить строку подключения и несколько запросов.

MySQLi, понадобится переписывать весь код - из числа запросов.

Оба они, являются объектно-ориентированными, но MySQLi также предлагает процедурный API.

Оба поддерживают подготовленные заявления. Подготовленные заявления, защищают от SQL-инъекций, и имеют очень важное значение для безопасности веб-приложений.


Примеры MySQL в синтаксисе MySQLi и PDO

В этой и в следующих главах мы продемонстрируем три способа работы с PHP и MySQL:

  • MySQLi - объектно-ориентированный
  • MySQLi - процессуальный
  • PDO

MySQLi Установка

Для Linux и Windows: MySQLi расширение в большинстве случаев устанавливается автоматически, при устанавки пакета php5 MySQL.

Для установки деталей перейти по: https://php.net/manual/en/mysqli.installation.php


PDO Установка

Для установки деталей перейти по: https://php.net/manual/en/pdo.installation.php

MySQL Открыть подключение

Прежде, чем, мы сможем получить доступ к данным в базе данных MySQL, мы должны подключиться к серверу:

Пример MySQLi - объектно-ориентированный

<?php
// Подключение к MySQL
$servername = "localhost"; // локалхост
$username = "root"; // имя пользователя
$password = ""; // пароль если существует

// Создание соединения
$conn = new mysqli($servername, $username, $password);

// Проверка соединения
if ($conn->connect_error) {
   die("Ошибка подключения: " . $conn->connect_error);
}
echo "Успешное подключение";
?>

PHP - удивительный и популярный язык!

Обратите внимание на объектно-ориентированный пример выше: $connect_error пока был разделен, на версии PHP 5.2.9 и PHP 5.3.0. Если вам нужно обеспечить совместимость версий PHP 5.2.9 и 5.3.0, используйте следующий код

// Проверка соединения
if (mysqli_connect_error()) {
   die("Ошибка подключения: " . mysqli_connect_error());
}

Пример MySQLi - процессуальный

<?php
// Подключение к MySQL
$servername = "localhost"; // локалхост
$username = "root"; // имя пользователя
$password = ""; // пароль если существует

// Создание соединения
$conn = mysqli_connect($servername, $username, $password);

// Проверка соединения
if (!$conn) {
   die("Ошибка подключения: " . mysqli_connect_error());
}
echo "Успешное подключение";
?>

Пример PDO

<?php
// Подключение к MySQL
$servername = "localhost"; // локалхост
$username = "root"; // имя пользователя
$password = ""; // пароль если существует
//$dbname = "myDB"; // база данных изключение

// Создание соединения и исключения
try {
   $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);

   // Установить режим ошибки PDO в исключение
   $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
   echo "Успешное подключение";
   }
catch(PDOException $e) // класс исключения
   {
   echo "Ошибка подключения:" . $e->getMessage();
   }
?>

Обратите внимание, что в примере PDO выше, мы дополнительно указали базу данных "myDB". PDO требует базу данных к подключению. Если база данных не указана, выдается исключение.

Совет: Большим преимуществом PDO является то, что он имеет класс исключения для решения любых проблем, которые могут возникнуть в запросах к базе данных. Если исключение выдается внутри блока try {}, сценарий прекращает выполнение и переходит непосредственно к первому блоку catch() { }.


Закрыть подключение

Подключение будет закрыто автоматически по окончании сценария. Чтобы закрыть соединение нужно, использовать следующие:

Пример MySQLi - объектно-ориентированный

$conn->close();

Пример MySQLi - процессуальный

mysqli_close($conn);

Пример PDO

$conn = null;