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;