PHP подключение к серверу MySQL - httpdoc.ru

PHP подключение к серверу MySQL

Мы дали вам небольшое введение в SQL, SQL и PHP в предыдущем руководстве. Теперь пора узнать, как подключить базу данных MySQL к приложению PHP. Для начала вам необходимо установить в систему сервер MySQL. Для этого вы можете установить XAMPP сервер, как было рекомендовано ранее. XAMPP обеспечивает PHP а также MySQL серверы, которые необходимо запустить, чтобы использовать PHP и MySQL на своем ПК. После запуска серверов ваш компьютер будет работать как локальный сервер для размещения PHP и MySQL. Локальный сервер называется 'localhost' . Чтобы получить доступ к базе данных в системе, вам необходимо ввести 'localhost/phpmyadmin' адресную строку браузера. Это 'phpmyadmin' панель администратора базы данных MySQL.

После всех этих настроек создать базу данных в "phpmyadmin", в котором вы хотите хранить данные своего веб-сайта. В базе данных вы можете создать множество в tables соответствии с данными.

Примечание: запомните имя базы данных и пароль localhost (если есть). Они будут использоваться для создания соединения с базой данных.
Примечание: файл подключения должен быть включен на все страницы веб-сайта, чтобы связать эти страницы с базой данных. Вы можете включить файл, используя функции PHP include () и require () .


Поскольку ранее мы выяснили, что существует более одного способа подключения к базе данных MySQL, мы реализуем разные способы для этого. Мы можем использовать расширения MySQL (Старая версия), MySQLi (Улучшенная версия) или PDO (Объект данных PHP).

Если мы говорим о расширении MySQL, он был ранее использован в старой версии PHP , но позже в PHP 5 версия MySQLi была введена , который является улучшенной версией и более безопасной , так как его dual procedural и object oriented подхода. Вы все еще можете использовать расширение MySQL, но это не рекомендуется. Помимо этих двух PDO также можно использовать, который является более портативным и поддерживает более двенадцати различных баз данных по сравнению с предыдущими расширениями, которые поддерживали только База данных MySQL .

Однако в MySQL есть простой способ подключения и выполнения запросов.

Примечание: расширение MySQLi имеет большую скорость и функции по сравнению с расширением PDO, 
  так что это лучший выбор для проектов, специфичных для MySQL.

Различные способы подключения к СУБД MySQL

Сначала мы рассмотрим подход MySQli и PDO, а позже обсудим расширение MySQl. Давайте начнем:

1: MySQLi, процедурный метод

Расширение MySQLi использует класс MySQLi, это улучшенная версия устаревших функций MySQL. 'mysqli_connect()' Функция используется для установления соединения с СУБД MySQL.

Он возвращает ресурс, если соединение установлено или равно нулю. Посмотрим шаги:

Шаг 1: Синтаксис mysqli_connect приведен ниже. Вы можете заменить 'hostname' с 'localhost' , 'username' с 'root' или что вы указали, замените «пароль» с паролем СУБД или оставить это поле пустым , если нет каких - либо , а затем заменить «базы данных» с именем базы данных , или вы также можете оставить это поле пустым , если вы хотите подключиться только к СУБД MySql и сейчас у вас нет базы данных. '$link' Сохранит возвращаемое значение 'mysqli_connect()' функции. Мы будем использовать эту переменную, чтобы убедиться, действительно ли мы подключены к СУБД. Синтаксис:

$ link = mysqli_connect («имя хоста», «имя пользователя», «пароль», «база данных»);

Шаг 2: После успешного подключения к базе данных вы можете выполнять различные операции с базой данных. Вы можете написать SQL-запрос прямо в коде вашего веб-сайта, и он будет реализован в базе данных с помощью функции 'mysqli_query()' . Синтаксис приведен ниже, вы можете ознакомиться с ним, мы обсудим это позже в руководстве.

<? php
    $ result = mysqli_query ($ link, «ВЫБРАТЬ фамилию ИЗ сотрудников»);
?>

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

Ниже приведен пример (код соединения php mysql) установления соединения с базой данных с использованием процедурного подхода и последующей проверки того, установлено ли соединение или нет.

Пример
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>

2: MySQLi, объектно-ориентированный способ

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

Синтаксис объектно-ориентированного подхода:

<? php
    $ link = new mysqli («имя хоста», «имя пользователя», «пароль», «база данных»);
?>

Взгляните на пример ниже:

Пример
/* MySQL server connection */	
	<?php
$mysqli = new mysqli("localhost", "root", "", "demo");
 
/* Check connection */
if($mysqli === false){
    die("ERROR: Could not connect. " . $mysqli->connect_error);
}
 
/* Print host information */
echo "Connect Successfully. Host info: " . $mysqli->host_info;
?>

3. Метод объектов данных PHP (PDO)

Метод PDO можно использовать там, где вы хотите, чтобы ваше веб-приложение также было совместимо с базами данных, отличными от MySQL. Предположим, по какой-либо причине вам нужно изменить свою базу данных, тогда, если вы используете PDO, вы можете легко перейти на новую СУБД с небольшими изменениями в коде. Но если вы использовали расширение MySQli, вам пришлось бы удалить код старого соединения и переписать новый.

Давайте посмотрим, как использовать подход PDO:

Шаг 1: Здесь, на первом шаге, мы создадим и объект с использованием PDO, а затем мы получим доступ к этому объекту, чтобы использовать функции PDO. Для подключения с помощью PDO следуйте данному синтаксису:

$ conn = новый PDO ("mysql: host = hostname; dbname = database", "username", "password");

Шаг 2: Чтобы выполнить любой запрос после успешного установления соединения, следуйте синтаксису, приведенному ниже. Этот оператор получит данные из указанной таблицы и сохранит их в '$result' переменной для дальнейшего использования.

<? php
    $ result = $ conn-> query ("ВЫБРАТЬ Фамилию ИЗ сотрудников");
?>
Пример
<?php
/* MySQL server connection */
try{
    $pdo = new PDO("mysql:host=localhost", "root", "");
    
/* Set the PDO error mode to exception */
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
/* Print host information */
    echo "Connect Successfully. Host info: " . 
$pdo->getAttribute(constant("PDO::ATTR_CONNECTION_STATUS"));
} catch(PDOException $e){
    die("ERROR: Could not connect. " . $e->getMessage());
}
?>

ПОДКЛЮЧЕНИЕ К MYSQL С ИСПОЛЬЗОВАНИЕМ УСТАРЕВШИХ ФУНКЦИЙ PHP

Теперь посмотрим, как подключить СУБД MySQl к веб-сайту PHP с помощью 'mysql()' функции. Эти функции устарели PHP 5.5 и, возможно, в ближайшем будущем они будут полностью удалены. Вы все еще можете использовать эти функции, но всегда рекомендуется использовать MySQli или PDO. Вы должны использовать эти функции только для обратной совместимости, если это абсолютно необходимо.

Шаг 1: FRST шаг , чтобы создать соединение , используя username , hostname , password и database name . Оно почти похоже на расширение MySQli, но здесь имя базы данных задается в специальной функции 'mysql_select_db()' и не включается в эту 'mysql_connect()' функцию.

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

<? php
    mysql_connect ('localhost', 'имя пользователя', 'пароль');
    mysql_select_db ('имя_бд');
?>

Шаг 2: Чтобы выполнить запрос, вы можете использовать расширение 'mysql_query()' . Синтаксис:

<? php
    $ result = mysql_query ('ВЫБРАТЬ фамилию ИЗ сотрудников');
?>

В приведенном ниже примере показан весь код для подключения СУБД MySQL с использованием расширения MySQL. Взгляните на него и сравните с расширением MySQli.

Пример
/* MySQL server connection */	
	<?php
$mysqli = new mysqli("localhost", "root", "", "demo");
 
/* Check connection */
if($mysqli === false){
    die("ERROR: Could not connect. " . $mysqli->connect_error);
}
 
/* Print host information */
echo "Connect Successfully. Host info: " . $mysqli->host_info;
?>

Закрытие подключения к серверу базы данных MySQL

Пришло время закрыть соединение. Очень важно закрыть установленное соединение. Хотя соединение автоматически завершается, как только заканчивается выполнение скрипта или закрывается веб-страница, именно поэтому нам нужен файл подключения на каждой странице, чтобы каждый раз устанавливать новое соединение. Но что, если вы захотите закрыть соединение раньше?

Посмотрим, как это сделать:

Процедурный подход MySQLi

Это функция mysqli_close (), которая будет использоваться для закрытия соединения, установленного приложением PHP. просто используйте переменную соединения в качестве аргумента в функции и все. Это соединение возвращает истину, если соединение успешно закрыто, в противном случае - ложь.

Синтаксис:

mysqli_close ($ ссылка);
Примечание. Для устаревшего расширения MySQl это функция 'mysql_close()' .
Пример
<?php
/* MySQL server connection */
$link = mysqli_connect("localhost", "root", "");
 
/* Check connection */
if($link === false){
    die("ERROR: Could not connect. " . mysqli_connect_error());
}
 
/* Print host information */
echo "Connect Successfully. Host info: " . mysqli_get_host_info($link);
 
/* Close connection */
mysqli_close($link);
?>


Объектно-ориентированный подход MySQli

Здесь вы воспользуетесь функцией close (), чтобы закрыть соединение. Это соединение будет доступно для объекта соединения. Посмотрите на приведенный ниже пример и su = yntax, чтобы понять это правильно.

Синтаксис:

$ mysqli-> закрыть ();
Пример
<?php
/* MySQL server connection */
$mysqli = new mysqli("localhost", "root", "", "demo");
 
/* Check connection */
if($mysqli === false){
    die("ERROR: Could not connect. " . $mysqli->connect_error);
}
 
/* Print host information */
echo "Connect Successfully. Host info: " . $mysqli->host_info;
 
/* Close connection */
$mysqli->close();
?>

Подход с использованием объектов данных PHP (PDO)

Хотя создание соединений через PDO немного сложно, но закрыть его очень легко, просто используйте unset() функцию. Синтаксис:

Синтаксис:

отключено ($ pdo);
Пример
<?php
/* MySQL server connection */
try{
    $pdo = new PDO("mysql:host=localhost;dbname=demo", "root", "");
    
    /* Set the PDO error mode to exception */
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    /* Print host information */
    echo "Connect Successfully. Host info: " . 
    $pdo->getAttribute(constant("PDO::ATTR_CONNECTION_STATUS"));
} catch(PDOException $e){
    die("ERROR: Could not connect. " . $e->getMessage());
}
 
/* Close connection */
unset($pdo);
?>