Меню
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON PHP КАК
     ❯   

PHP Учебник


PHP Формы


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


PHP ООП


MySQL База данных


PHP XML


PHP - AJAX


PHP Примеры


PHP Справочник



PHP - MySQL Подключить



Подключение PHP к MySQL

PHP поддерживает два основных расширения для работы с базами данных MySQL:

  • MySQLi (MySQL Improved)
  • PDO (PHP Data Objects)

Что мне следует использовать: 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 автоматически устанавливается в большинстве случаев, когда установлен пакет php mysql.

Подробности установки: http://php.net/manual/en/mysqli.installation.php


Установка PDO

Подробности установки: http://php.net/manual/en/pdo.installation.php



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

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

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

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

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "mydb";

// Создаем подключение
$conn = new mysqli($servername, $username, $password, $dbname);

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

Пример - MySQLi процедурный

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "mydb";

// Создаем подключение
$conn = mysqli_connect($servername, $username, $password, $dbname);

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

Пример - PDO

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "mydb";

try {
  $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
  // устанавливаем режим ошибок PDO в исключение
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  echo "Подключено успешно";
} catch(PDOException $e) {
  echo "Подключение не удалось: " . $e->getMessage();
}
?>

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


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

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

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

$conn->close();

Пример - MySQLi процедурный:

mysqli_close($conn);

Пример - PDO:

$conn = null;



×

Связаться с отделом продаж

Если вы хотите использовать услуги schoolsw3 как образовательное учреждение, команда или предприятие, отправьте нам электронное письмо:
sales@schoolsw3.com

Сообщить об ошибке

Если вы хотите сообщить об ошибке или внести предложение, отправьте нам электронное письмо:
help@schoolsw3.com

Schoolsw3 оптимизирован для обучения и подготовки. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно проверяются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего контента.
При использовании Schoolsw3 вы соглашаетесь прочитать и принять наши условия использования,
политику использования файлов cookie и конфиденциальности.

Авторское право 1999- © Copyright. Все права защищены. Schoolsw3 работает на SW3.CSS.