Последние учебники веб-разработки
×

PHP Руководство

PHP ГЛАВНАЯ PHP вступление PHP устанавливать PHP Синтаксис PHP переменные PHP Echo / Версия для печати PHP Типы данных PHP Строки PHP Константы PHP операторы PHP If...Else...Elseif PHP Switch PHP В то время как Loops PHP Для Loops PHP функции PHP Массивы PHP Сортировка массивов PHP Суперглобальные

PHP обращение

PHP форма обращение PHP форма Проверка PHP форма необходимые PHP форма URL/E-mail PHP форма полный

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

PHP Массивы Мульти PHP Дата и время PHP Включают PHP файл обращение PHP файл Открыть / Read PHP файл Создание / запись PHP файл Загрузить PHP Cookies PHP Sessions PHP фильтры PHP Filters продвинутый PHP Ошибка обращение PHP исключение

MySQL Database

MySQL База данных MySQL соединение MySQL Create DB MySQL Create Таблица MySQL Insert Data MySQL Получить Последняя ID MySQL Вставка нескольких MySQL Prepared MySQL Select Data MySQL Delete Data MySQL Update Data MySQL Limit Data

PHP - XML

PHP XML Парсеры PHP SimpleXML Parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX вступление AJAX PHP AJAX База данных AJAX XML AJAX Live Search AJAX RSS Reader AJAX Голосование

PHP Examples

PHP Примеры PHP викторина PHP сертификат

PHP Справка

PHP массив PHP Календарь PHP Дата PHP каталог PHP Ошибка PHP Файловая система PHP Фильтр PHP FTP PHP HTTP PHP Libxml PHP почта PHP математический PHP Разное PHP MySQLi PHP SimpleXML PHP строка PHP XML PHP Zip PHP Часовые пояса

 

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


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

  • MySQLi расширение (the "i" stands for improved)
  • PDO (PHP Data Objects)

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


Должен ли я использовать MySQLi или PDO?

Если вам нужен короткий ответ, это будет "Whatever you like" .

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

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

Итак, если вы должны переключить свой проект, чтобы использовать другую базу данных, PDO делает этот процесс простым. Вам нужно только изменить строку подключения и несколько запросов. С MySQLi, вам нужно будет переписать весь код - запросы включены.

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

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


MySQL Примеры в обоих MySQLi и PDO Синтаксис

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

  • MySQLi (object-oriented)
  • MySQLi (procedural)
  • PDO

Установка MySQLi

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

Подробную информацию по установке, перейдите по ссылке: http://php.net/manual/en/mysqli.installation.php


Установка PDO

Подробную информацию по установке, перейдите по ссылке: http://php.net/manual/en/pdo.installation.php


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

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

Пример (MySQLi Object-Oriented)

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

// Create connection
$conn = new mysqli($servername, $username, $password);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>

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

// Проверьте подключение
если ( mysqli_connect_error() ) {
die("Database connection failed: " . mysqli_connect_error() к die("Database connection failed: " . mysqli_connect_error() );
}

Пример (MySQLi Procedural)

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

// Create connection
$conn = mysqli_connect($servername, $username, $password);

// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>

Пример (PDO)

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

try {
    $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully";
    }
catch(PDOException $e)
    {
    echo "Connection failed: " . $e->getMessage();
    }
?>

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

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


Закройте соединение

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

Пример (MySQLi Object-Oriented)

$conn->close();

Пример (MySQLi Procedural)

mysqli_close($conn);

Пример (PDO)

$conn = null;