0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>Краткое отступление</a></li>
1
<ul><li><a>Краткое отступление</a></li>
2
<li><a>Подключение к database на PHP</a></li>
2
<li><a>Подключение к database на PHP</a></li>
3
<li><a>MySQLi-подключение</a></li>
3
<li><a>MySQLi-подключение</a></li>
4
<li><a>Процедурный подход к применению MySQLi</a></li>
4
<li><a>Процедурный подход к применению MySQLi</a></li>
5
<li><a>Подключаемся к БД средствами PHP Data Objects</a></li>
5
<li><a>Подключаемся к БД средствами PHP Data Objects</a></li>
6
<li><a>Метод для старых версий PHP</a></li>
6
<li><a>Метод для старых версий PHP</a></li>
7
<li><a>Какой тип соединения с сервером выбрать?</a></li>
7
<li><a>Какой тип соединения с сервером выбрать?</a></li>
8
</ul><p>Базы данных (БД, Database, db) широко применяются для структурирования и хранения информации. Они важны для успешной работы современных web-сайтов, причем используются для хранения данных и на тех сайтах, которые написаны на<strong>PHP</strong>. Таким образом, на практике<strong>databases</strong>применяют:</p>
8
</ul><p>Базы данных (БД, Database, db) широко применяются для структурирования и хранения информации. Они важны для успешной работы современных web-сайтов, причем используются для хранения данных и на тех сайтах, которые написаны на<strong>PHP</strong>. Таким образом, на практике<strong>databases</strong>применяют:</p>
9
<p>- для сохранения пользовательских данных, полученных с помощью форм регистрации;</p>
9
<p>- для сохранения пользовательских данных, полученных с помощью форм регистрации;</p>
10
<p>- для проверки, существует ли конкретный аккаунт в системе, какие у него права доступа (access);</p>
10
<p>- для проверки, существует ли конкретный аккаунт в системе, какие у него права доступа (access);</p>
11
<p>- для организации поиска по страницам сайта;</p>
11
<p>- для организации поиска по страницам сайта;</p>
12
<p>- для хранения комментариев;</p>
12
<p>- для хранения комментариев;</p>
13
<p>- для хранения всевозможного контента (статей, изображений, медиафайлов) и многих других данных (data).</p>
13
<p>- для хранения всевозможного контента (статей, изображений, медиафайлов) и многих других данных (data).</p>
14
<p>Но прежде, чем выполнить какую-нибудь операцию с записями, находящимися в БД, нужно сначала к этой БД<strong>подключиться</strong>.</p>
14
<p>Но прежде, чем выполнить какую-нибудь операцию с записями, находящимися в БД, нужно сначала к этой БД<strong>подключиться</strong>.</p>
15
<h2>Краткое отступление</h2>
15
<h2>Краткое отступление</h2>
16
<p>Традиционно, язык программирования PHP поддерживает работу с такой базой данных, как<strong>MySQL </strong>(это СУБД, поддерживающая структурированный язык запросов<strong>SQL</strong>). Для работы с базой данных MySQL в PHP встроены специальные функции, то есть необходимые возможности предусмотрены заранее. Эти функции позволяют:</p>
16
<p>Традиционно, язык программирования PHP поддерживает работу с такой базой данных, как<strong>MySQL </strong>(это СУБД, поддерживающая структурированный язык запросов<strong>SQL</strong>). Для работы с базой данных MySQL в PHP встроены специальные функции, то есть необходимые возможности предусмотрены заранее. Эти функции позволяют:</p>
17
<p>- выполнять запросы и получать результаты;</p>
17
<p>- выполнять запросы и получать результаты;</p>
18
<p>- обрабатывать ошибки;</p>
18
<p>- обрабатывать ошибки;</p>
19
<p>- читать и записывать данные;</p>
19
<p>- читать и записывать данные;</p>
20
<p>- успешно и эффективно работать с популярной СУБД.</p>
20
<p>- успешно и эффективно работать с популярной СУБД.</p>
21
<p>При подключении к MySQL соответствующий сценарий исполняет запрос и показывает результат запроса. Но самое главное заключается в том, что для работы с СУБД MySQL разработчику не придется ничего специально устанавливать, так как все нужное будет сразу доступно и включено в стандартную поставку PHP.</p>
21
<p>При подключении к MySQL соответствующий сценарий исполняет запрос и показывает результат запроса. Но самое главное заключается в том, что для работы с СУБД MySQL разработчику не придется ничего специально устанавливать, так как все нужное будет сразу доступно и включено в стандартную поставку PHP.</p>
22
<h2>Подключение к database на PHP</h2>
22
<h2>Подключение к database на PHP</h2>
23
<p>Выполнить подключение к серверу БД MySQL можно несколькими способами:</p>
23
<p>Выполнить подключение к серверу БД MySQL можно несколькими способами:</p>
24
<ul><li>с помощью объектно-ориентированного подхода<strong>MySQLi</strong>;</li>
24
<ul><li>с помощью объектно-ориентированного подхода<strong>MySQLi</strong>;</li>
25
<li>с помощью процедурного подхода MySQLi;</li>
25
<li>с помощью процедурного подхода MySQLi;</li>
26
<li>используя технологию<strong>PDO</strong>;</li>
26
<li>используя технологию<strong>PDO</strong>;</li>
27
<li>используя способ подключения для старых версий PHP (имеются в виду версии до PHP 5).</li>
27
<li>используя способ подключения для старых версий PHP (имеются в виду версии до PHP 5).</li>
28
</ul><p>Все вышеперечисленные варианты дают возможность выполнить ту же задачу. То есть выбор наиболее подходящего варианта осуществляется на основании:</p>
28
</ul><p>Все вышеперечисленные варианты дают возможность выполнить ту же задачу. То есть выбор наиболее подходящего варианта осуществляется на основании:</p>
29
<p>- условий текущей разработки;</p>
29
<p>- условий текущей разработки;</p>
30
<p>- PHP-версии;</p>
30
<p>- PHP-версии;</p>
31
<p>- субъективных предпочтений.</p>
31
<p>- субъективных предпочтений.</p>
32
<p>Но какой бы метод выбран не был, важно иметь основную информацию как о database, так и нюансах доступа (access) к ней. Что подразумевается под основной информацией:</p>
32
<p>Но какой бы метод выбран не был, важно иметь основную информацию как о database, так и нюансах доступа (access) к ней. Что подразумевается под основной информацией:</p>
33
<ul><li><strong>сервер размещения</strong>. Когда разработка проекта ведется на локальном сервере, указывается значение<em>localhost</em>(аналогичная ситуация в большинстве случаев справедлива и тогда, когда вы пользуетесь хостингом);</li>
33
<ul><li><strong>сервер размещения</strong>. Когда разработка проекта ведется на локальном сервере, указывается значение<em>localhost</em>(аналогичная ситуация в большинстве случаев справедлива и тогда, когда вы пользуетесь хостингом);</li>
34
<li><strong>login</strong><strong>и</strong><strong>password</strong><strong>пользователя</strong>, имеющего доступ (access). Когда работы проводятся на локальном сервере, юзер может быть root и с пустым паролем;</li>
34
<li><strong>login</strong><strong>и</strong><strong>password</strong><strong>пользователя</strong>, имеющего доступ (access). Когда работы проводятся на локальном сервере, юзер может быть root и с пустым паролем;</li>
35
<li><strong>имя базы данных</strong>.</li>
35
<li><strong>имя базы данных</strong>.</li>
36
</ul><p>Таким образом, заданный набор переменных в PHP выглядит следующим образом:</p>
36
</ul><p>Таким образом, заданный набор переменных в PHP выглядит следующим образом:</p>
37
<h2><strong>MySQLi-подключение</strong></h2>
37
<h2><strong>MySQLi-подключение</strong></h2>
38
<p>При использовании этого способа создается экземпляр класса mysqli. В процессе создания подключения в параметрах задается информация о сервере, а также о доступах подключения и имени определенной БД, задаваемой переменными. Данные можно указать и строкой (row), то есть без использования переменных, однако вывод параметров в едином разделе либо конфигурационном файле повышает удобство работы с проектом.</p>
38
<p>При использовании этого способа создается экземпляр класса mysqli. В процессе создания подключения в параметрах задается информация о сервере, а также о доступах подключения и имени определенной БД, задаваемой переменными. Данные можно указать и строкой (row), то есть без использования переменных, однако вывод параметров в едином разделе либо конфигурационном файле повышает удобство работы с проектом.</p>
39
<h2><strong>Процедурный подход к применению MySQLi</strong></h2>
39
<h2><strong>Процедурный подход к применению MySQLi</strong></h2>
40
<p>Для некоторых разработчиков более понятна и привычна работа в процедурном формате. Если это так, есть возможность задействовать тот же метод, однако с другой синтаксической реализацией. Когда может пригодиться подобное решение? К примеру, если осуществляется перенос старого MySQL-проекта.</p>
40
<p>Для некоторых разработчиков более понятна и привычна работа в процедурном формате. Если это так, есть возможность задействовать тот же метод, однако с другой синтаксической реализацией. Когда может пригодиться подобное решение? К примеру, если осуществляется перенос старого MySQL-проекта.</p>
41
<p>// выполняем подключение</p>
41
<p>// выполняем подключение</p>
42
<p>$db = mysqli_connect($db_host, $db_user, $db_pass, $db_name)</p>
42
<p>$db = mysqli_connect($db_host, $db_user, $db_pass, $db_name)</p>
43
<p> or die('Error: подключение выполнено не было.'); // сообщение о том, что произойдет ошибка</p>
43
<p> or die('Error: подключение выполнено не было.'); // сообщение о том, что произойдет ошибка</p>
44
<p>// операции с database, к примеру:</p>
44
<p>// операции с database, к примеру:</p>
45
<p>$my_data = mysqli_query($db,"SELECT * FROM my_table");</p>
45
<p>$my_data = mysqli_query($db,"SELECT * FROM my_table");</p>
46
<p>// завершаем подключение</p>
46
<p>// завершаем подключение</p>
47
<p>mysqli_close($db);</p>
47
<p>mysqli_close($db);</p>
48
<h2><strong>Подключаемся к БД средствами PHP Data Objects</strong></h2>
48
<h2><strong>Подключаемся к БД средствами PHP Data Objects</strong></h2>
49
<p>Неплохое решение при работе с web-проектом - использование технологии PHP Data Objects (PDO). В чем плюс этой технологии? Да хотя бы в том, что появляется возможность работать с разными БД, не меняя основной код.</p>
49
<p>Неплохое решение при работе с web-проектом - использование технологии PHP Data Objects (PDO). В чем плюс этой технологии? Да хотя бы в том, что появляется возможность работать с разными БД, не меняя основной код.</p>
50
<p>Следует добавить несколько слов и о выборке данных в PDO. Делать это можно с помощью:</p>
50
<p>Следует добавить несколько слов и о выборке данных в PDO. Делать это можно с помощью:</p>
51
<ol><li><strong>Ассоциативного массива.</strong>PDO::FETCH_ASSOC обеспечивает возвращение массива с названиями столбцов в виде ключей.</li>
51
<ol><li><strong>Ассоциативного массива.</strong>PDO::FETCH_ASSOC обеспечивает возвращение массива с названиями столбцов в виде ключей.</li>
52
<li><strong>Объекта.</strong>PDO::FETCH_OBJ обеспечивает возвращение анонимного объекта со свойствами, которые соответствуют именам столбцов.</li>
52
<li><strong>Объекта.</strong>PDO::FETCH_OBJ обеспечивает возвращение анонимного объекта со свойствами, которые соответствуют именам столбцов.</li>
53
</ol><p>Возникают ситуации, когда надо поработать со старыми версиями либо с достаточно древними проектами. Это значит, что надо иметь некое представление и об этом подходе. Его реализация схожа с процедурным подходом MySQLi и является, по сути, его предыдущей версией.</p>
53
</ol><p>Возникают ситуации, когда надо поработать со старыми версиями либо с достаточно древними проектами. Это значит, что надо иметь некое представление и об этом подходе. Его реализация схожа с процедурным подходом MySQLi и является, по сути, его предыдущей версией.</p>
54
<p>Также давайте приведем пример добавления новой записи (insert into) в таблицу БД с помощью функции mysql_query(). Она может применяться также и для удаления, изменения и выборки данных посредством запроса SQL. Аргументом функции является строка с запросом. В результате возвращается идентификатор запроса.</p>
54
<p>Также давайте приведем пример добавления новой записи (insert into) в таблицу БД с помощью функции mysql_query(). Она может применяться также и для удаления, изменения и выборки данных посредством запроса SQL. Аргументом функции является строка с запросом. В результате возвращается идентификатор запроса.</p>
55
<p><html></p>
55
<p><html></p>
56
<p><head></p>
56
<p><head></p>
57
<p><title>Добавляем новую запись в нашу таблицу</title></p>
57
<p><title>Добавляем новую запись в нашу таблицу</title></p>
58
<p></head></p>
58
<p></head></p>
59
<p><body></p>
59
<p><body></p>
60
<p><?php</p>
60
<p><?php</p>
61
<p>$db = "sample";</p>
61
<p>$db = "sample";</p>
62
<p>$link = mysql_pconnect ();</p>
62
<p>$link = mysql_pconnect ();</p>
63
<p>if ( !$link )</p>
63
<p>if ( !$link )</p>
64
<p> die ("Подключение к MySQL невозможно!");</p>
64
<p> die ("Подключение к MySQL невозможно!");</p>
65
<p>mysql_select_db ( $db ) or die ("Нет возможности открыть $db");</p>
65
<p>mysql_select_db ( $db ) or die ("Нет возможности открыть $db");</p>
66
<p>$query = "INSERT INTO books</p>
66
<p>$query = "INSERT INTO books</p>
67
<p> VALUES (‘111-2222-33-4’, ‘Иванов Иван’,</p>
67
<p> VALUES (‘111-2222-33-4’, ‘Иванов Иван’,</p>
68
<p> ‘Руководство по PHP’, ‘333’, ‘5’)";</p>
68
<p> ‘Руководство по PHP’, ‘333’, ‘5’)";</p>
69
<p>mysql_query ( $query );</p>
69
<p>mysql_query ( $query );</p>
70
<p>mysql_close ( $link );</p>
70
<p>mysql_close ( $link );</p>
71
<p>?></p>
71
<p>?></p>
72
<p></body></p>
72
<p></body></p>
73
<p></html></p>
73
<p></html></p>
74
<h2><strong>Какой тип соединения с сервером выбрать?</strong></h2>
74
<h2><strong>Какой тип соединения с сервером выбрать?</strong></h2>
75
<p>Выбор должен быть обоснованный (based). Важно понимать, что технология подключения подбирается программистом с учетом условий проекта, личных предпочтений, а также удобства применения. То есть надо быть в курсе проектных рамок и перспективы проекта. И не стоит применять устаревшие технологии и решения, когда существует возможность использовать что-нибудь более новое и эффективное.</p>
75
<p>Выбор должен быть обоснованный (based). Важно понимать, что технология подключения подбирается программистом с учетом условий проекта, личных предпочтений, а также удобства применения. То есть надо быть в курсе проектных рамок и перспективы проекта. И не стоит применять устаревшие технологии и решения, когда существует возможность использовать что-нибудь более новое и эффективное.</p>
76
<p>Для небольшого проекта, для которого не планируется сложное расширение, может быть вполне достаточно MySQLi. Вдобавок к этому, объектно-ориентированный подход позволит вам структурировать проект.</p>
76
<p>Для небольшого проекта, для которого не планируется сложное расширение, может быть вполне достаточно MySQLi. Вдобавок к этому, объектно-ориентированный подход позволит вам структурировать проект.</p>
77
<p>Если разрабатываемая система будет динамически развиваться и расширяться, может возникнуть необходимость в замене database, что позволит работать с повышенными объемами записей. В таком случае предпочтительнее PDO. В дальнейшем разработчику не придется менять большую часть существующего кода в связи с обновлениями.</p>
77
<p>Если разрабатываемая система будет динамически развиваться и расширяться, может возникнуть необходимость в замене database, что позволит работать с повышенными объемами записей. В таком случае предпочтительнее PDO. В дальнейшем разработчику не придется менять большую часть существующего кода в связи с обновлениями.</p>
78
<a></a><p><em>Источники:</em></p>
78
<a></a><p><em>Источники:</em></p>
79
<ul><li><em>https://space-base.ru/library/php/podklyuchenie-bazy-dannyh-mysql-v-php;</em></li>
79
<ul><li><em>https://space-base.ru/library/php/podklyuchenie-bazy-dannyh-mysql-v-php;</em></li>
80
<li><em>https://htmlacademy.ru/tutorial/php/mysql;</em></li>
80
<li><em>https://htmlacademy.ru/tutorial/php/mysql;</em></li>
81
<li><em>https://htmlweb.ru/php/mysql.php.</em></li>
81
<li><em>https://htmlweb.ru/php/mysql.php.</em></li>
82
</ul>
82
</ul>