<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wwoss.direct.quickconnect.to/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>worldwide open-source software - software:development:web:docs:learn:mariadb</title>
        <description></description>
        <link>https://wwoss.direct.quickconnect.to/</link>
        <lastBuildDate>Fri, 10 Apr 2026 23:55:29 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=wiki:logo.png</url>
            <title>worldwide open-source software</title>
            <link>https://wwoss.direct.quickconnect.to/</link>
        </image>
        <item>
            <title>вatabase_creation_pdo</title>
            <link>https://wwoss.direct.quickconnect.to/doku.php?id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;rev=1771836801</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;работа_с_mysql_через_pdo&quot;&gt;Работа с MySQL через PDO&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 MySQL \u0447\u0435\u0440\u0435\u0437 PDO&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0430\u0431\u043e\u0442\u0430_\u0441_mysql_\u0447\u0435\u0440\u0435\u0437_pdo&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-51&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;pdo_создание_подключения&quot;&gt;PDO. Создание подключения&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Для создания подключения к серверу базы данных в PDO применяется конструктор new PDO(), который принимает в качестве параметров настройки подключения:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=0&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;NEW&lt;/span&gt; PDO&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;mysql:host=адрес_сервера;port=номер_порта;dbname=имя_базы_данных&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;имя_пользователя&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;пароль&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Принимаемые параметры:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Сначала указывается строка подключечения, которая состоит из ряда настроек. Первая настройка - название драйвера базы данных. Так, в данном случае подключение осуществляется к MySQL, то тип баз данных будет &lt;strong&gt;mysql:&lt;/strong&gt;.&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Далее идет настройка &lt;strong&gt;host&lt;/strong&gt;, которая задает хост сервера, например, host=localhost (если сервер MySQL запущен локально).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Затем дополнительно можно указать номер порта через параметр &lt;strong&gt;port&lt;/strong&gt;. Если он не указан, то используется порт по умолчанию - для mysql это 3306.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; И далее идет настройка &lt;strong&gt;dbname&lt;/strong&gt;, которая устанавливает имя базы данных.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Кроме этих настроек строка подключения может включать еще ряд других, но это самые основные.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Второй параметр задает имя пользователя MySQL&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Третий параметр устанавливает пароль для выше указанного пользователя&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
При успешном подключении вызов конструктора new PDO() возвращает созданный объект PDO, который представляет установленное подключение и через который мы сможем взавмодействовать с базой данных. Однако если установка подключения прошла неудачно (например, сервер базы данных недоступен, указаны неправильные имя пользователя и/или пароль, какая-то еще ошибка), то вызов конструктора генерирует исключение. Соответственно вызов данного конструктора лучше помещать в конструкцию try..catch
&lt;br/&gt;

Определим простейший скрипт для подключения к серверу базы данных MySQL:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=1&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;connect_db.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;?php
try &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; подключаемся к серверу
    $conn &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NEW&lt;/span&gt; PDO&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;mysql:host=localhost&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;Соединение с базой данных установлено&amp;quot;&lt;/span&gt;;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
catch &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;PDOException $e&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;Соединение не удалось: &amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; $e&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;getMessage&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
?&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
&lt;a href=&quot;http://localhost/connect_db.php&quot; class=&quot;urlextern&quot; title=&quot;http://localhost/connect_db.php&quot; rel=&quot;ugc nofollow&quot;&gt;http://localhost/connect_db.php&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_connect_db.php_8.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_connect_db.php_8.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_connect_db.php_8.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;p&gt;
Здесь производится подключение к локальному серверу, поэтому в строке подключения параметр host имеет значение «localhost». Поскольку база данных пока не важна, то параметр dbname не указан. Подключение производится для пользователя - пользователя «root», для которого установлен пароль «mypassword».
&lt;/p&gt;

&lt;p&gt;
«root» - это пользователь по умолчанию, который существует для сервера MySQL. А «mypassword» - пароль, установленный для этого пользователя. Естественно в каждом конкретном случае пароль для этого пользователя может отличаться. Однако если на сервере MySQL созданы другие пользователи, то можно указывать этих пользователей и их пароли.
&lt;/p&gt;

&lt;p&gt;
При успешном подключении созданный объект PDO будет сохранен в переменную $conn, через которую мы затем сможем взаимодействовать с MySQL:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=2&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;connect_db.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;$conn &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NEW&lt;/span&gt; PDO&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;mysql:host=localhost&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Если произойдет ошибка, то будет сгенерировано исключение типа PDOException. Как и у других классов исключений с помощью метода getMessage() мы можем получить сообщение об ошибке.
&lt;/p&gt;

&lt;p&gt;
И при успешном подключении мы увидим в браузере следующее сообщение:
&lt;/p&gt;
&lt;div class=&quot;plugin_note notegreen&quot;&gt;Соединение с базой данных установлено

&lt;/div&gt;
&lt;p&gt;
А если произойдет ошибка, то браузер выведет сообщение об ошибке. Например, сообщение об ошибке при некорректном пароле:
&lt;/p&gt;
&lt;div class=&quot;plugin_note notegreen&quot;&gt;Connection failed: SQLSTATE[HY000] [1045] Access denied for user &amp;#039;root&amp;#039;@&amp;#039;localhost&amp;#039; (using password: YES)

&lt;/div&gt;&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_connect_db.php_9.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_connect_db.php_9.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_connect_db.php_9.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;PDO. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;pdo_\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435_\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;52-5893&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;установка_режима_вывода_ошибок&quot;&gt;Установка режима вывода ошибок&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Если при взаимодействии с MySQL произойдет ошибка, то, как правило, ожидается, что мы получим сообщение об ошибке. Однако реальное поведение зависит от редима вывода ошибок, который установлен для объекта PDO. Режим вывода ошибок задается с помощью атрибута &lt;strong&gt;PDO::ATTR_ERRMODE&lt;/strong&gt;, который может принимать следующие значения:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;PDO::ERRMODE_SILENT:&lt;/strong&gt; PDO просто устанавливает код ошибки. Для получения которого и для получения информации об ошибке по которому необходимо было вызывать специальные методы. Поскольку при этом режиме необходимо вызывать дополнительные методы, то этот способ обычно рассматривался как не самый удобный. Он был значением по умолчанию до версии PHP 8.0.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;PDO::ERRMODE_WARNING:&lt;/strong&gt; PDO генерирует сообщение типа E_WARNING. Обычно применяется при отладке или тестировании&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;PDO::ERRMODE_EXCEPTION:&lt;/strong&gt; PDO передает информацию об ошибке в объект PDOException, благодаря чему через блок catch в конструкции try..catch мы можем отловить ошибку и получить информацию об этом исключении. Этот режим применяется как режим по умолчанию начиная с версии PHP 8.0.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Если мы хотим получать информацию об ошибке через исключение PDOException и обрабатывать его в блоке catch, то нам нужно значение &lt;strong&gt;PDO::ERRMODE_EXCEPTION.&lt;/strong&gt; В PHP 8.0 и выше это значение применяется по умолчанию, однако, если версия ниже 8.0, то необходимо это значение установить явным образом с помощью метода setAttribute() объекта PDO:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=3&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;connect_db.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;try &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; подключаемся к серверу
    $conn &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NEW&lt;/span&gt; PDO&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;mysql:host=localhost&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;mypassword&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; установка режима вывода ошибок
    $conn&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;setAttribute&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;PDO::ATTR_ERRMODE&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; PDO::ERRMODE_EXCEPTION&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;Соединение с базой данных установлено&amp;quot;&lt;/span&gt;;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
catch &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;PDOException $e&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;Соединение не удалось: &amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; $e&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;getMessage&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0440\u0435\u0436\u0438\u043c\u0430 \u0432\u044b\u0432\u043e\u0434\u0430 \u043e\u0448\u0438\u0431\u043e\u043a&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430_\u0440\u0435\u0436\u0438\u043c\u0430_\u0432\u044b\u0432\u043e\u0434\u0430_\u043e\u0448\u0438\u0431\u043e\u043a&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;5894-8864&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;закрытие_подключения&quot;&gt;Закрытие подключения&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
После завершения работы скрипта PHP автоматически закрывает открытые подключения к базе данных. Но может потребоваться закрыть подключение еще в процессе работы скрипта. В этом случае объекту PDO можно присвоить значение null:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=4&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;$conn &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NULL&lt;/span&gt;;  &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; отключаемся от сервера базы данных&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0417\u0430\u043a\u0440\u044b\u0442\u0438\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0437\u0430\u043a\u0440\u044b\u0442\u0438\u0435_\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;8865-9434&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;выполнение_запросов_в_pdo&quot;&gt;Выполнение запросов в PDO.&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 PDO.&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435_\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432_\u0432_pdo&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;9435-9492&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;создание_базы_данных_и_таблиц&quot;&gt;Создание базы данных и таблиц&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Для выполнения запросов к серверу базы данных у объекта PDO вызывается метод &lt;strong&gt;exec()&lt;/strong&gt;, в который передается выполняемое выражение SQL.
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=5&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;$conn &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NEW&lt;/span&gt; PDO&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;mysql:host=localhost&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;mypassword&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
$conn&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;EXEC&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;команда_sql&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;/div&gt;

&lt;h4 id=&quot;создание_базы_данных&quot;&gt;Создание базы данных&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Для создания базы данных применяется SQL-команда CREATE DATABASE, после которой указывается имя создаваемой базы данных.
&lt;/p&gt;

&lt;p&gt;
Создадим базу данных через PHP:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=6&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;create_db.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;?php
 try &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; подключаемся к серверу
    $conn &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NEW&lt;/span&gt; PDO&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;mysql:host=localhost&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&amp;nbsp;
    &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; SQL&lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;выражение для создания базы данных
    $sql &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;CREATE DATABASE blog&amp;quot;&lt;/span&gt;;
    &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; выполняем SQL&lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;выражение
    $conn&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;EXEC&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$sql&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;Соединение с базой данных установлено&amp;quot;&lt;/span&gt;;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
catch &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;PDOException $e&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;Соединение не удалось: &amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; $e&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;getMessage&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
?&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
&lt;a href=&quot;http://localhost/create_db.php&quot; class=&quot;urlextern&quot; title=&quot;http://localhost/create_db.php&quot; rel=&quot;ugc nofollow&quot;&gt;http://localhost/create_db.php&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_create_db.php_8.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_create_db.php_8.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_create_db.php_8.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;p&gt;
&lt;a href=&quot;http://localhost/phpmyadmin/index.php?route=/server/databases&quot; class=&quot;urlextern&quot; title=&quot;http://localhost/phpmyadmin/index.php?route=/server/databases&quot; rel=&quot;ugc nofollow&quot;&gt;http://localhost/phpmyadmin/index.php?route=/server/databases&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_create_db.php_9.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_create_db.php_9.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_create_db.php_9.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;p&gt;
В данном случае после подключения к серверу определяется переменная $sql, которая хранит команду на создание бд с именем «blog»:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=7&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;$sql &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;CREATE DATABASE blog&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Далее для выполнения этой команды передаем ее в метод exec():
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=8&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;$conn&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;EXEC&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$sql&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
В итоге при успешном создании базы данных мы увидим в браузере сообщение об создании БД:
&lt;/p&gt;
&lt;div class=&quot;plugin_note notegreen&quot;&gt;База данных создана

&lt;/div&gt;
&lt;/div&gt;

&lt;h4 id=&quot;создание_таблицы&quot;&gt;Создание таблицы&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Подобным образом можно выполнять запросы на создание таблиц в базе данных. Для создания таблиц применяется SQL-команда CREATE TABLE, после которой указывается имя создаваемой таблицы и в скобках определения столбцов.
&lt;/p&gt;

&lt;p&gt;
Так, возьмем выше созданную базу данных «blog». И создадим в ней таблицу, которая описывается следующим кодом
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=9&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;?php
&lt;span class=&quot;kw1&quot;&gt;CREATE&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;TABLE&lt;/span&gt; Users &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;id &lt;span class=&quot;kw1&quot;&gt;INTEGER&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;AUTO_INCREMENT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;PRIMARY&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;KEY&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; name &lt;span class=&quot;kw1&quot;&gt;VARCHAR&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; pass &lt;span class=&quot;kw1&quot;&gt;VARCHAR&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;STATUS&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;VARCHAR&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
?&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Здесь создается таблица под названием «users». Она будет хранить условных пользователей. В ней будет три столбца: id, name, pass и status. Столбец id представляет числовой уникальный идентификатор строки - или идентификатор пользователя. Столбец name представляет строку - имя пользователя. Столбец pass - соответственно пароль. А столбец status определяет, что это администратор, пользователь или гость.
&lt;/p&gt;

&lt;p&gt;
Для создания таблицы определим следующий скрипт php:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=10&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;create_table_db.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;?php
try &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; подключаемся к серверу
    $conn &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NEW&lt;/span&gt; PDO&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;mysql:host=localhost;dbname=blog&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&amp;nbsp;
    &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; SQL&lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;выражение для создания таблицы
    $sql &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;create table users (id integer auto_increment primary key, name varchar(30), pass varchar(30),status varchar(30));&amp;quot;&lt;/span&gt;;
    &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; выполняем SQL&lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;выражение
    $conn&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;EXEC&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$sql&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;Создана таблица «Пользователи».&amp;quot;&lt;/span&gt;;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
catch &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;PDOException $e&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;Соединение не удалось: &amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; $e&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;getMessage&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
?&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
&lt;a href=&quot;http://localhost/create_table_db.php&quot; class=&quot;urlextern&quot; title=&quot;http://localhost/create_table_db.php&quot; rel=&quot;ugc nofollow&quot;&gt;http://localhost/create_table_db.php&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_create_table_db.php_9.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_create_table_db.php_9.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_create_table_db.php_9.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;p&gt;
&lt;a href=&quot;http://localhost/phpmyadmin/index.php?route=/sql&amp;amp;pos=0&amp;amp;db=blog&amp;amp;table=users&quot; class=&quot;urlextern&quot; title=&quot;http://localhost/phpmyadmin/index.php?route=/sql&amp;amp;pos=0&amp;amp;db=blog&amp;amp;table=users&quot; rel=&quot;ugc nofollow&quot;&gt;http://localhost/phpmyadmin/index.php?route=/sql&amp;amp;pos=0&amp;amp;db=blog&amp;amp;table=users&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_create_table_db.php_10.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_create_table_db.php_10.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_create_table_db.php_10.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;p&gt;
Обратите внимание, что по сравнению с предыдущим примером здесь в строке подключения указана база данных, в которой создается таблица: «mysql:host=localhost;dbname=blog»
&lt;/p&gt;

&lt;p&gt;
И после успешного выполнения запрос мы увидим в браузере сообщение об создании таблицы:
&lt;/p&gt;
&lt;div class=&quot;plugin_note notegreen&quot;&gt;Создана таблица «Пользователи».
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0442\u0430\u0431\u043b\u0438\u0446&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435_\u0431\u0430\u0437\u044b_\u0434\u0430\u043d\u043d\u044b\u0445_\u0438_\u0442\u0430\u0431\u043b\u0438\u0446&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;9493-14732&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;добавление_данных_в_pdo_и_параметризация_запросов&quot;&gt;Добавление данных в PDO и параметризация запросов&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Для добавления данных в БД MySQL применяется sql-команда INSERT, которая имеет следующий синтаксис:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=11&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;INSERT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;INTO&lt;/span&gt; название_таблицы &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;столбец&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; столбец&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; столбецN&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;VALUES&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt; значение&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; значение&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; значениеN&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Данная команда также выполняется методом &lt;strong&gt;exec()&lt;/strong&gt; объекта PDO. Стоит отметить, что для sql-команд &lt;strong&gt;INSERT, UPDATE и DELETE&lt;/strong&gt; метод exec() возвращает количество затронутных командой строк (добавленных, измененных или удаленных). Таким образом, мы можем узнать сколько строк было добавлено.
&lt;/p&gt;

&lt;p&gt;
Сначала рассмотрим простейшее добавление одного объекта в БД. Для примера возьмем созданную в прошлой теме базу данных «blog» и созданную в ней таблицу Users со следующим определением:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=12&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;CREATE&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;TABLE&lt;/span&gt; Users &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;id &lt;span class=&quot;kw1&quot;&gt;INTEGER&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;AUTO_INCREMENT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;PRIMARY&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;KEY&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; name &lt;span class=&quot;kw1&quot;&gt;VARCHAR&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; pass &lt;span class=&quot;kw1&quot;&gt;VARCHAR&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;STATUS&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;VARCHAR&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
И для добавления определим следующий скрипт PHP:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=13&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;insert_user_db.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;?php
try &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    $conn &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NEW&lt;/span&gt; PDO&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;mysql:host=localhost;dbname=blog&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&amp;nbsp;
    &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; SQL&lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;выражение для добавления данных
    $sql &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;INSERT INTO Users (name, pass, status) VALUES (&#039;eva&#039;, 123, &#039;admin&#039;)&amp;quot;&lt;/span&gt;;
&amp;nbsp;
    $affectedRowsNumber &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $conn&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;EXEC&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$sql&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;В таблицу Users добавлено строк: $affectedRowsNumber&amp;quot;&lt;/span&gt;;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
catch &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;PDOException $e&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;Соединение не удалось: &amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; $e&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;getMessage&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
?&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
&lt;a href=&quot;http://localhost/insert_user_db.php&quot; class=&quot;urlextern&quot; title=&quot;http://localhost/insert_user_db.php&quot; rel=&quot;ugc nofollow&quot;&gt;http://localhost/insert_user_db.php&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_create_user_db.php_10.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_create_user_db.php_10.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_create_user_db.php_10.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;p&gt;
&lt;a href=&quot;http://localhost/phpmyadmin/index.php?route=/sql&amp;amp;pos=0&amp;amp;db=blog&amp;amp;table=users&quot; class=&quot;urlextern&quot; title=&quot;http://localhost/phpmyadmin/index.php?route=/sql&amp;amp;pos=0&amp;amp;db=blog&amp;amp;table=users&quot; rel=&quot;ugc nofollow&quot;&gt;http://localhost/phpmyadmin/index.php?route=/sql&amp;amp;pos=0&amp;amp;db=blog&amp;amp;table=users&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_create_user_db.php_11.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_create_user_db.php_11.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_create_user_db.php_11.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;p&gt;
Команда на добавление здесь выглядит следующим образом:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=14&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;$sql &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;INSERT INTO Users (name, pass, status) VALUES (&#039;eva&#039;, 123, &#039;admin&#039;)&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
То есть в столбец &lt;strong&gt;name&lt;/strong&gt; добавляется строка «&lt;strong&gt;eva&lt;/strong&gt;», в &lt;strong&gt;pass&lt;/strong&gt; - &lt;strong&gt;123&lt;/strong&gt; а в столбец &lt;strong&gt;status&lt;/strong&gt; - значение &lt;strong&gt;admin&lt;/strong&gt;. Для столбца &lt;strong&gt;id&lt;/strong&gt; не добавляется никакого значения, потому что при создании таблицы для него указан параметр &lt;strong&gt;AUTO_INCREMENT&lt;/strong&gt; - то есть значение этого столбца у каждой добавляемой строки будет автоматически увеличиваеться по сравнению с предыдущей на единицу.
&lt;/p&gt;

&lt;p&gt;
При добавлении мы получаем количество добавленных строк в переменую &lt;strong&gt;$affectedRowsNumber&lt;/strong&gt; и затем выводим ее значение в браузере. Поэтому при успешном добавлении мы увидим
&lt;/p&gt;
&lt;div class=&quot;plugin_note notegreen&quot;&gt;В таблицу &lt;strong&gt;Users&lt;/strong&gt; добавлено строк: 1

&lt;/div&gt;
&lt;/div&gt;

&lt;h4 id=&quot;множественное_добавление&quot;&gt;Множественное добавление&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Также мы можем добавить сразу несколько объектов:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=15&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;insert_user_db.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;?php
try &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    $conn &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NEW&lt;/span&gt; PDO&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;mysql:host=localhost;dbname=blog&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&amp;nbsp;
    &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; SQL&lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;выражение для добавления данных
    $sql &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;INSERT INTO Users (name, age) VALUES (&#039;Tom&#039;, 37)&amp;quot;&lt;/span&gt;;
    $sql &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;INSERT INTO Users (name, pass, status) VALUES (&#039;eva&#039;, 123, &#039;admin&#039;)&amp;quot;&lt;/span&gt;;
    $sql &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;INSERT INTO Users (name, pass, status) VALUES
            (&#039;tom&#039;, 456, &#039;admin&#039;), 
            (&#039;bob&#039;, 789, &#039;admin&#039;), 
            (&#039;alisa&#039;, 012, &#039;admin&#039;)&amp;quot;&lt;/span&gt;;
&amp;nbsp;
    $affectedRowsNumber &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $conn&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;EXEC&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$sql&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;В таблицу Users добавлено строк: $affectedRowsNumber&amp;quot;&lt;/span&gt;;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
catch &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;PDOException $e&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;Соединение не удалось: &amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; $e&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;getMessage&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
?&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
&lt;a href=&quot;http://localhost/phpmyadmin/index.php?route=/sql&amp;amp;pos=0&amp;amp;db=blog&amp;amp;table=users&quot; class=&quot;urlextern&quot; title=&quot;http://localhost/phpmyadmin/index.php?route=/sql&amp;amp;pos=0&amp;amp;db=blog&amp;amp;table=users&quot; rel=&quot;ugc nofollow&quot;&gt;http://localhost/phpmyadmin/index.php?route=/sql&amp;amp;pos=0&amp;amp;db=blog&amp;amp;table=users&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_create_user_db.php_13.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_create_user_db.php_13.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_create_user_db.php_13.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;p&gt;
Здесь в таблицу добавляется три строки. Соответственно в браузере мы увидим:
&lt;/p&gt;
&lt;div class=&quot;plugin_note notegreen&quot;&gt;В таблицу Users добавлено строк: 3
&lt;/div&gt;&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_create_user_db.php_12.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_create_user_db.php_12.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_create_user_db.php_12.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 PDO \u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435_\u0434\u0430\u043d\u043d\u044b\u0445_\u0432_pdo_\u0438_\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0437\u0430\u0446\u0438\u044f_\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;14733-19721&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;добавление_данных_из_формы_html&quot;&gt;Добавление данных из формы HTML&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
В большинстве случаев добавляемые данные будут приходить из вне, например, присылаться в запросе пользователя. Рассмотрим добавление данных, отправленных из формы &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt;. Для этого определим следующий скрипт:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=16&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;create_user_form.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code php&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;title&amp;gt;create_user_form.php&amp;lt;/title&amp;gt;
&amp;lt;meta charset=&amp;quot;utf-8&amp;quot; /&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a href=&quot;http://www.php.net/isset&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;isset&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$_POST&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;username&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;a href=&quot;http://www.php.net/isset&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;isset&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$_POST&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;userpass&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;re0&quot;&gt;$username&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$_POST&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;username&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;re0&quot;&gt;$userpass&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$_POST&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;userpass&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    try &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        &lt;span class=&quot;re0&quot;&gt;$conn&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;new&lt;/span&gt; PDO&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;mysql:host=localhost;dbname=blog&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;re0&quot;&gt;$sql&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;INSERT INTO Users (name, pass, status) VALUES (&#039;&lt;span class=&quot;es4&quot;&gt;$username&lt;/span&gt;&#039;, &lt;span class=&quot;es4&quot;&gt;$userpass&lt;/span&gt;, &#039;user&#039;)&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;re0&quot;&gt;$affectedRowsNumber&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$conn&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;a href=&quot;http://www.php.net/exec&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$sql&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;co1&quot;&gt;// если добавлена как минимум одна строка&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$affectedRowsNumber&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Данные успешно добавлены: name=&lt;span class=&quot;es4&quot;&gt;$username&lt;/span&gt;  pass= &lt;span class=&quot;es4&quot;&gt;$userpass&lt;/span&gt; status= user&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;  
        &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
    catch &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;PDOException &lt;span class=&quot;re0&quot;&gt;$e&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Ошибка базы данных: &amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$e&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;getMessage&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
&amp;lt;h3&amp;gt;Создать нового пользователя&amp;lt;/h3&amp;gt;
&amp;lt;form method=&amp;quot;post&amp;quot;&amp;gt;
    &amp;lt;p&amp;gt;Имя пользователя:
    &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;username&amp;quot; /&amp;gt;&amp;lt;/p&amp;gt;
    &amp;lt;p&amp;gt;Пароль пользователя:
    &amp;lt;input type=&amp;quot;number&amp;quot; name=&amp;quot;userpass&amp;quot; /&amp;gt;&amp;lt;/p&amp;gt;
    &amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;Создать&amp;quot;&amp;gt;
&amp;lt;/form&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
&lt;a href=&quot;http://localhost/create_user_form.php&quot; class=&quot;urlextern&quot; title=&quot;http://localhost/create_user_form.php&quot; rel=&quot;ugc nofollow&quot;&gt;http://localhost/create_user_form.php&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_create_user_db.php_14.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_create_user_db.php_14.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_create_user_db.php_14.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;p&gt;
&lt;a href=&quot;http://localhost/phpmyadmin/index.php?route=/sql&amp;amp;pos=0&amp;amp;db=blog&amp;amp;table=users&quot; class=&quot;urlextern&quot; title=&quot;http://localhost/phpmyadmin/index.php?route=/sql&amp;amp;pos=0&amp;amp;db=blog&amp;amp;table=users&quot; rel=&quot;ugc nofollow&quot;&gt;http://localhost/phpmyadmin/index.php?route=/sql&amp;amp;pos=0&amp;amp;db=blog&amp;amp;table=users&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_create_user_db.php_15.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_create_user_db.php_15.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_create_user_db.php_15.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;p&gt;
Здесь мы проверяем, пришли ли с сервера данные в POST-запросе, которые имеют ключи &lt;strong&gt;«username»&lt;/strong&gt; и &lt;strong&gt;«userpass»&lt;/strong&gt;:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=17&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;IF&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;isset&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$_POST&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;username&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &amp;amp;&amp;amp; isset&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$_POST&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;userpass&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Если эти данные имеются, то есть был отправлен &lt;strong&gt;post-запрос&lt;/strong&gt; с данными на добавление, то мы получаем эти данные, добавляем пользователю статус &lt;strong&gt;«user»&lt;/strong&gt; в переменные и добавляем их в бд.
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=18&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;$sql &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;INSERT INTO Users (name, pass, status) VALUES (&#039;$username&#039;, $userpass, &#039;user&#039;)&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Если была добавлена строка, то есть метод &lt;strong&gt;exec()&lt;/strong&gt; возвратил число больше нуля, то выводим пользователю соответствующее сообщение.
&lt;/p&gt;

&lt;p&gt;
После кода php собственно определена форма на добавление данных с помощью &lt;strong&gt;post&lt;/strong&gt;-запроса.
Здесь в таблицу добавляется новая строка строки. Соответственно в браузере мы увидим:
&lt;/p&gt;
&lt;div class=&quot;plugin_note notegreen&quot;&gt;Данные успешно добавлены: name=ivan pass= 654 status= user

&lt;/div&gt;&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_create_user_db.php_16.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_create_user_db.php_16.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_create_user_db.php_16.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0444\u043e\u0440\u043c\u044b HTML&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435_\u0434\u0430\u043d\u043d\u044b\u0445_\u0438\u0437_\u0444\u043e\u0440\u043c\u044b_html&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:16,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;19722-23174&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;параметризация_запросов&quot;&gt;Параметризация запросов&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Недостаток выше приведенного скрипа заключается в том, что мы никак не констролируем присылаемые данные и сохраняем их в базу данных как есть. Что несет потенциальную угрозу безопасности, особенно при добавлении строк типа &lt;strong&gt;&amp;quot;; DELETE FROM `Users`; --.&lt;/strong&gt; Кроме того, в ряде случае может быть проблематично добавить даже безопасные данные, например, строку, которая содержит одинарную кавычку, типа &lt;strong&gt;&amp;quot;Tom O&amp;#039;Brian&amp;quot;&lt;/strong&gt;.&lt;br/&gt;

Для решения этих проблем PDO предлагает параметризацию запросов с помощью применения заранее подготовленных выражений - &lt;strong&gt;prepared statement&lt;/strong&gt;. Выражения &lt;strong&gt;prepared statement&lt;/strong&gt; вместо жестко установленных значений или переменных принимают параметры, которые не привязаны к конкретным значениям. Эти выражения &lt;strong&gt;prepared statement&lt;/strong&gt; посылаются серверу базы данных до того, как станут известны используемые данные, что позволяет серверу приготовить их к выполнению, но при этом они не выполняются. А когда пользователь присылает данные - параметры заменяются пришедшими данными, и выражение &lt;strong&gt;prepared statement&lt;/strong&gt; выполняется.
&lt;/p&gt;

&lt;p&gt;
Перепишем предыдущий пример с использованием параметров:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=19&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;create_user_form.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;!DOCTYPE html&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;html&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;head&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;title&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;create_user_form&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;php&lt;span class=&quot;sy0&quot;&gt;&amp;lt;/&lt;/span&gt;title&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;meta charset&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;utf-8&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;/&lt;/span&gt;head&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;body&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;?php
&lt;span class=&quot;kw1&quot;&gt;IF&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;isset&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$_POST&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;username&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &amp;amp;&amp;amp; isset&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$_POST&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;userpass&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
&amp;nbsp;
    try &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        $conn &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NEW&lt;/span&gt; PDO&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;mysql:host=localhost;dbname=blog&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
		$user &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;user&#039;&lt;/span&gt;;
		$sql &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;INSERT INTO Users (name, pass, status) VALUES (:username, :userpass, :user)&amp;quot;&lt;/span&gt;;
        &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; определяем prepared statement
        $stmt &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $conn&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;PREPARE&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$sql&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; привязываем параметры к значениям
        $stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;bindValue&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;:username&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; $_POST&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;username&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        $stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;bindValue&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;:userpass&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; $_POST&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;userpass&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
		$stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;bindValue&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;:user&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; $user&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; выполняем prepared statement        
        $affectedRowsNumber &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;EXECUTE&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; если добавлена как минимум одна строка		
        &lt;span class=&quot;kw1&quot;&gt;IF&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$affectedRowsNumber &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
            echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;Данные успешно добавлены: name=&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; $_POST&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;username&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;  pass= &amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; $_POST&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;userpass&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;status= user&amp;quot;&lt;/span&gt;;  
        &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
    catch &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;PDOException $e&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;Database error: &amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; $e&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;getMessage&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
?&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;		
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;h3&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;Создать нового пользователя&lt;span class=&quot;sy0&quot;&gt;&amp;lt;/&lt;/span&gt;h3&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;form method&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;post&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;p&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;Имя пользователя:
    &lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;INPUT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;TYPE&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;text&amp;quot;&lt;/span&gt; name&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;username&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&amp;gt;&amp;lt;/&lt;/span&gt;p&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;p&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;Пароль пользователя:
    &lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;INPUT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;TYPE&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;number&amp;quot;&lt;/span&gt; name&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;userpass&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&amp;gt;&amp;lt;/&lt;/span&gt;p&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;INPUT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;TYPE&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;submit&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;VALUE&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Создать&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;/&lt;/span&gt;form&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;/&lt;/span&gt;body&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;/&lt;/span&gt;html&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_create_user_db.php_18.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_create_user_db.php_18.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_create_user_db.php_18.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;p&gt;
В SQL-выражении теперь применяются параметры:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=20&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;$sql &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;INSERT INTO Users (name, pass, status) VALUES (:username, :userpass, :user)&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
&lt;strong&gt;:username&lt;/strong&gt; и &lt;strong&gt;:userpass&lt;/strong&gt; - это названия параметров. Причем они начинаются с символа двоеточия &lt;strong&gt;:&lt;/strong&gt;.
&lt;/p&gt;

&lt;p&gt;
Само выражение &lt;strong&gt;prepared statement&lt;/strong&gt; создается с помощью метода &lt;strong&gt;prepare()&lt;/strong&gt; объекта PDO, в который передается выполняемая sql-команда:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=21&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;$stmt &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $conn&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;PREPARE&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$sql&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Фактически здесь создается объект &lt;strong&gt;PDOStatement&lt;/strong&gt;, который сохраняется в переменную $stmt.
&lt;/p&gt;

&lt;p&gt;
Чтобы связать параметр с конкретным значением у объекта &lt;strong&gt;PDOStatement&lt;/strong&gt; вызывается метод &lt;strong&gt;bindValue()&lt;/strong&gt;. Первый параметр этого метода - собственно параметр из sql-команды, а второй параметр - передаваемое ему значение.
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=22&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;$stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;bindValue&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;:username&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; $_POST&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;username&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Так, в данном случае параметр &lt;strong&gt;:username&lt;/strong&gt; привязывается к значению из &lt;strong&gt;$_POST[&amp;quot;username&amp;quot;]&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Причем привязка может производиться и к конкретным значениям и обычным переменным, например:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=23&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;$user &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;alexa&amp;quot;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; привязка к переменной $user
$stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;bindValue&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;:username&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; $user&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Для выполнения sql-выражения у объекта PDOStatement вызывается метод &lt;strong&gt;execute()&lt;/strong&gt;, который для команды &lt;strong&gt;INSERT&lt;/strong&gt; возвращает число добавленных строк.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0437\u0430\u0446\u0438\u044f_\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:19,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;23175-28755&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;передача_значений_параметрам_через_массив_по_имени&quot;&gt;Передача значений параметрам через массив по имени&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
В примере выше для параметризации применялся метод &lt;strong&gt;bindValue()&lt;/strong&gt;:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=24&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;$sql &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;INSERT INTO Users (name, pass, status) VALUES (:username, :userpass, :user)&amp;quot;&lt;/span&gt;;
&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; определяем prepared statement
$stmt &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $conn&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;PREPARE&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$sql&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; привязываем параметры к значениям
$stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;bindValue&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;:username&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; $_POST&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;username&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
$stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;bindValue&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;:userpass&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; $_POST&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;userpass&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
$stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;bindValue&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;:user&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; $user&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; выполняем prepared statement        
$affectedRowsNumber &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;EXECUTE&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Но есть и другой способ привязки параметров к значениям - мы можем передать в метод &lt;strong&gt;execute()&lt;/strong&gt; параметры и их значения в виде ассоциативного массива:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=25&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;$sql &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;INSERT INTO Users (name, pass, status) VALUES (:username, :userpass, :user)&amp;quot;&lt;/span&gt;;
$stmt &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $conn&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;PREPARE&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$sql&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; через массив передаем значения параметрам по имени
$rowsNumber &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;EXECUTE&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;array&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;:username&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&amp;gt;&lt;/span&gt; $_POST&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;username&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;:userpass&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&amp;gt;&lt;/span&gt; $_POST&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;userpass&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;:user&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&amp;gt;&lt;/span&gt; $user&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
В этом случае названия параметров являются ключами.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c \u0447\u0435\u0440\u0435\u0437 \u043c\u0430\u0441\u0441\u0438\u0432 \u043f\u043e \u0438\u043c\u0435\u043d\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430_\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439_\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c_\u0447\u0435\u0440\u0435\u0437_\u043c\u0430\u0441\u0441\u0438\u0432_\u043f\u043e_\u0438\u043c\u0435\u043d\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:24,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;28756-30180&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;передача_значений_параметрам_через_массив_по_позиции&quot;&gt;Передача значений параметрам через массив по позиции&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Третий способ привязки значений к параметрам представляет передачу значений по позиции:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=26&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;$sql &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;INSERT INTO Users (name, pass, status) VALUES (?, ?, ?)&amp;quot;&lt;/span&gt;;
&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; определяем prepared statement
$stmt &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $conn&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;PREPARE&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$sql&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; привязываем параметры к значениям
$rowsNumber &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;EXECUTE&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;array&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$_POST&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;username&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; $_POST&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;userpass&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; $user&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
В этом случае вместо названий параметров применяются знаки вопроса &lt;strong&gt;?&lt;/strong&gt;. Для передачи этим параметрам значений в метод &lt;strong&gt;execute()&lt;/strong&gt; также передается массив. Первое значение массива привязывается к первому параметру (условно добавляется вместо первого знака вопроса), второе значение привязывается ко второму параметру и т.д.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c \u0447\u0435\u0440\u0435\u0437 \u043c\u0430\u0441\u0441\u0438\u0432 \u043f\u043e \u043f\u043e\u0437\u0438\u0446\u0438\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430_\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439_\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c_\u0447\u0435\u0440\u0435\u0437_\u043c\u0430\u0441\u0441\u0438\u0432_\u043f\u043e_\u043f\u043e\u0437\u0438\u0446\u0438\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:26,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;30181-31361&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit12&quot; id=&quot;получение_данных_в_pdo&quot;&gt;Получение данных в PDO&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
На уровне кода SQL получение данных осуществляется с помощью команды SELECT. Например, получение всех данных из таблицы Users:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=27&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;SELECT&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;FROM&lt;/span&gt; Users&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
В библиотеке pdo для получения данных у объекта PDO вызывается метод &lt;strong&gt;query()&lt;/strong&gt;, в который передается команда SQL. Метод &lt;strong&gt;query()&lt;/strong&gt; возвращает объект &lt;strong&gt;PDOStatement&lt;/strong&gt;, который представляет набор всех полученных из базы данных строк.
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=28&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;$sql &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;SELECT * FROM Users&amp;quot;&lt;/span&gt;;
$result &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $conn&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;query&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$sql&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
 Получив объект &lt;strong&gt;PDOStatement&lt;/strong&gt;, мы можем извлечь данные. В частности, его метод fetch() при первом обращении первую строку (если в наборе есть строки):
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=29&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;$row &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $result&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;fetch&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
При последующих обращениях метод &lt;strong&gt;fetch()&lt;/strong&gt; возвращает следующие строки, пока в наборе не останется строк. Если строк в наборе больше нет, то метод возвращает &lt;strong&gt;false&lt;/strong&gt;. Поэтому для получения всех строк удобно использовать циклы. Например, цикл &lt;strong&gt;while&lt;/strong&gt;:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=30&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;while&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$row &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $result&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;fetch&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; обработка строк
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Таким образом, при каждой итерации цикл while будет получать новую строку из набора в переменную $row, пока метод $result→fetch() не возвратит false - после чего произойдет выход из цикла.
&lt;/p&gt;

&lt;p&gt;
Строка возвращается в виде ассоциативного массива, где отдельные значения - это столбцы строки, а ключи этих значений - названия столбцов таблицы. Например, получение значения столбца «name» в переменную:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=31&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;while&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$row &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $result&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;fetch&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    $username &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $row&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;;
    &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; операции с $username
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Вместо цикла &lt;strong&gt;while&lt;/strong&gt; можно использовать цикл &lt;strong&gt;for/foreach&lt;/strong&gt;. Например:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=32&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;foreach&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$result &lt;span class=&quot;kw1&quot;&gt;AS&lt;/span&gt; $row&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    $username &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $row&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;;
    &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; операции с $username
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Здесь явным образом не вызывается метод &lt;strong&gt;$result-&amp;gt;fetch()&lt;/strong&gt;. Формально мы просто перебираем переменную $result как обычный массив, также помещая каждую строку в переменную $row.
&lt;/p&gt;

&lt;p&gt;
Теперь все объединим и получим данные из таблицы Users из прошлых тем, которая имеет следующее определение:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=33&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;select_user_form.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;?php
try &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    $conn &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NEW&lt;/span&gt; PDO&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;mysql:host=localhost;dbname=blog&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    $sql &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;SELECT * FROM Users&amp;quot;&lt;/span&gt;;
    $result &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $conn&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;query&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$sql&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;pass&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;status&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;&lt;/span&gt;;
    while&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$row &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $result&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;fetch&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;tr&amp;gt;&amp;quot;&lt;/span&gt;;
            echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;td&amp;gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; $row&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;/td&amp;gt;&amp;quot;&lt;/span&gt;;
            echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;td&amp;gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; $row&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;/td&amp;gt;&amp;quot;&lt;/span&gt;;
            echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;td&amp;gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; $row&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;pass&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;/td&amp;gt;&amp;quot;&lt;/span&gt;;
			echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;td&amp;gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; $row&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;status&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;/td&amp;gt;&amp;quot;&lt;/span&gt;;
        echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;/tr&amp;gt;&amp;quot;&lt;/span&gt;;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
    echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;/table&amp;gt;&amp;quot;&lt;/span&gt;;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
catch &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;PDOException $e&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;Ошибка базы данных: &amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; $e&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;getMessage&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
?&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
В данном случае полученные данные будут выводиться в таблицу, создаваемую элементом &lt;strong&gt;&amp;lt;table&amp;gt;&lt;/strong&gt;:
&lt;br/&gt;

&lt;a href=&quot;http://localhost/select_user_form.php&quot; class=&quot;urlextern&quot; title=&quot;http://localhost/select_user_form.php&quot; rel=&quot;ugc nofollow&quot;&gt;http://localhost/select_user_form.php&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_select_user_db.php_20.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_select_user_db.php_20.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_select_user_db.php_20.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 PDO&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435_\u0434\u0430\u043d\u043d\u044b\u0445_\u0432_pdo&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:27,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;31362-35556&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit13&quot; id=&quot;фильтрация_данных_в_pdo&quot;&gt;Фильтрация данных в PDO&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
В прошлой статье применялся метод query() для получения всех данных из БД. Но что, если нам надо получить не все, а какие-то определенные данные, которые овечают некоторому критерию, иными словами, произвести фильтрацию данных. Например, возьмем использовавшуюся в прошлых темах таблицу Users:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=34&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;CREATE&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;TABLE&lt;/span&gt; Users &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;id &lt;span class=&quot;kw1&quot;&gt;INTEGER&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;AUTO_INCREMENT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;PRIMARY&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;KEY&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; name &lt;span class=&quot;kw1&quot;&gt;VARCHAR&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; pass &lt;span class=&quot;kw1&quot;&gt;VARCHAR&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;STATUS&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;VARCHAR&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Она имеет столбец id, и мы хотим получить определенный объект по id. На первый взгляд мы могли бы определить следующий код:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=35&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;$sql &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;SELECT * FROM Users WHERE id = 1&amp;quot;&lt;/span&gt;;
$result &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $conn&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;query&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$sql&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Для фильтрации команде &lt;strong&gt;SELECT&lt;/strong&gt; передается выражение &lt;strong&gt;WHERE&lt;/strong&gt;, которая принимает названия столбцов их значения в качестве критерия фильтрации. То есть, здесь мы получаем строке, где &lt;strong&gt;id = 1&lt;/strong&gt;.
&lt;/p&gt;

&lt;p&gt;
Однако если данные для фильтрации приходят извне, например, значение для столбца &lt;strong&gt;id&lt;/strong&gt;, то опять же, как и в случае с добавлением, мы сталкиваемся с потенциальной уязвимостью кода. И также, как и при добавлении, в этом случае лучше использовать параметризацию и &lt;strong&gt;prepared statements&lt;/strong&gt;.
&lt;/p&gt;

&lt;p&gt;
Например, мы хотим получать в &lt;strong&gt;GET&lt;/strong&gt;-запросе значение для &lt;strong&gt;id&lt;/strong&gt; и по нему получть из базы данных нужные данные. Определим для этого следующий скрипт &lt;strong&gt;user.php&lt;/strong&gt;:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=36&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;user.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;!DOCTYPE html&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;html&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;head&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;title&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;USER&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;php&lt;span class=&quot;sy0&quot;&gt;&amp;lt;/&lt;/span&gt;title&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;meta charset&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;utf-8&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;/&lt;/span&gt;head&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;body&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;?php
&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; зададим переменную для вывода строки
$_GET&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;;
&lt;span class=&quot;kw1&quot;&gt;IF&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;isset&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$_GET&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    try &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        $conn &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NEW&lt;/span&gt; PDO&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;mysql:host=localhost;dbname=blog&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        $sql &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;SELECT * FROM Users WHERE id = :userid&amp;quot;&lt;/span&gt;;
        $stmt &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $conn&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;PREPARE&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$sql&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; привязываем значение параметра :userid к $_GET&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;
        $stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;bindValue&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;:userid&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; $_GET&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; выполняем выражение и получаем пользователя по id
        $stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;EXECUTE&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        &lt;span class=&quot;kw1&quot;&gt;IF&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;rowCount&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
            foreach &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$stmt &lt;span class=&quot;kw1&quot;&gt;AS&lt;/span&gt; $row&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
              $username &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $row&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;;
              $userpass &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $row&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;pass&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;;
              $userstatus &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $row&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;status&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;;
              echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;div&amp;gt;
                    &amp;lt;h3&amp;gt;Информация о пользователе&amp;lt;/h3&amp;gt;
                    &amp;lt;p&amp;gt;Имя: $username&amp;lt;/p&amp;gt;
                    &amp;lt;p&amp;gt;Пароль: $userpass&amp;lt;/p&amp;gt;
					&amp;lt;p&amp;gt;Статус: $userstatus&amp;lt;/p&amp;gt;
                &amp;lt;/div&amp;gt;&amp;quot;&lt;/span&gt;;
            &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
        &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;ELSE&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
            echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;Пользователь не найден&amp;quot;&lt;/span&gt;;
        &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
    catch &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;PDOException $e&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;Соединение не удалось: &amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; $e&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;getMessage&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
?&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;/&lt;/span&gt;body&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;/&lt;/span&gt;html&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
&lt;a href=&quot;http://localhost/user.php&quot; class=&quot;urlextern&quot; title=&quot;http://localhost/user.php&quot; rel=&quot;ugc nofollow&quot;&gt;http://localhost/user.php&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_select_user_db.php_21.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_select_user_db.php_21.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_select_user_db.php_21.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;p&gt;
Для выполнения запроса к БД вначале создаем &lt;strong&gt;prepared statement&lt;/strong&gt;, которое использует параметр userid, привязанный к значению &lt;strong&gt;$_GET[&amp;quot;id&amp;quot;]&lt;/strong&gt;:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=37&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;$sql &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;SELECT * FROM Users WHERE id = :userid&amp;quot;&lt;/span&gt;;
$stmt &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $conn&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;PREPARE&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$sql&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
$stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;bindValue&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;:userid&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; $_GET&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Далее у полученного объекта &lt;strong&gt;PDOStatement&lt;/strong&gt; вызываем метод &lt;strong&gt;execute()&lt;/strong&gt;, который выполняет запрос к бд:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=38&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;$stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;EXECUTE&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
После выполнения команды &lt;strong&gt;SELECT&lt;/strong&gt; этот объект содержит полученные из БД данные, которые мы можем перебрать с помощью цикла:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=39&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;IF&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;rowCount&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    foreach &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$stmt &lt;span class=&quot;kw1&quot;&gt;AS&lt;/span&gt; $row&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        $username &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $row&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;;
        $userpass &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $row&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;pass&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;;
        $userstatus &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $row&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;status&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
При этом с помощью метода &lt;strong&gt;rowCount()&lt;/strong&gt; мы можем узнать количество возвращенных строк. Получение данных столбцов строки производится как и было описано выше для простого запроса &lt;strong&gt;SELECT&lt;/strong&gt;. Получив данные столбцов в переменные, мы можем затем что-то с ними сделать, например, вывести их значения на страницу.&lt;br/&gt;

Закоментируем явное определение &lt;strong&gt;$_GET[&amp;quot;id&amp;quot;] = 2;&lt;/strong&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_select_user_db.php_25.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_select_user_db.php_25.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_select_user_db.php_25.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;p&gt;
Чтоб было проще обращаться к скрипту &lt;strong&gt;user.php&lt;/strong&gt; и передавать ему &lt;strong&gt;id&lt;/strong&gt;, определим скрипт &lt;strong&gt;index_test.php&lt;/strong&gt;, который будет выводить список объектов:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=40&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;index_test.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code php&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;title&amp;gt;index_test.php&amp;lt;/title&amp;gt;
&amp;lt;meta charset=&amp;quot;utf-8&amp;quot; /&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;h2&amp;gt;Список пользователей&amp;lt;/h2&amp;gt;
&lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt;
try &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;re0&quot;&gt;$conn&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;new&lt;/span&gt; PDO&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;mysql:host=localhost;dbname=blog&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;re0&quot;&gt;$sql&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;SELECT id, name FROM Users&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;re0&quot;&gt;$result&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$conn&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;query&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$sql&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Имя&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;foreach&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$result&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$row&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;tr&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;td&amp;gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$row&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;/td&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;td&amp;gt;&amp;lt;a href=&#039;user.php?id=&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$row&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&#039; &amp;gt;Посмотреть&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;/tr&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;/table&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
catch &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;PDOException &lt;span class=&quot;re0&quot;&gt;$e&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Ошибка базы данных: &amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$e&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;getMessage&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
&lt;a href=&quot;http://localhost/index_test.php&quot; class=&quot;urlextern&quot; title=&quot;http://localhost/index_test.php&quot; rel=&quot;ugc nofollow&quot;&gt;http://localhost/index_test.php&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_select_user_db.php_22.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_select_user_db.php_22.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_select_user_db.php_22.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;p&gt;
Здесь все объекты из базы данных выводятся в таблицу, где второй столбец содержит ссылку на скрипт &lt;strong&gt;user.php&lt;/strong&gt;, которому передается соответствующее значение &lt;strong&gt;id&lt;/strong&gt;. В итоге по нажатию на эту ссылку мы перейдем к описанию объекта по &lt;strong&gt;id&lt;/strong&gt;:
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_select_user_db.php_23.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_select_user_db.php_23.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_select_user_db.php_23.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;p&gt;
Выведем значение, нажатием на ссылку
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_select_user_db.php_26.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_select_user_db.php_26.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_select_user_db.php_26.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0424\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 PDO&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f_\u0434\u0430\u043d\u043d\u044b\u0445_\u0432_pdo&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:34,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;35557-42867&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit14&quot; id=&quot;обновление_данных_в_pdo&quot;&gt;Обновление данных в PDO&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Для обновления применяется &lt;strong&gt;sql&lt;/strong&gt;-команда &lt;strong&gt;UPDATE&lt;/strong&gt;:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=41&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;UPDATE&lt;/span&gt; Таблица
&lt;span class=&quot;kw1&quot;&gt;SET&lt;/span&gt; столбец&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; значение&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; столбец&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; значение&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,...&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;WHERE&lt;/span&gt; столбец &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; значение &lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
В библиотеке &lt;strong&gt;pdo&lt;/strong&gt; для обновления данных может применяться тот же метод &lt;strong&gt;exec()&lt;/strong&gt; объекта &lt;strong&gt;PDO&lt;/strong&gt;, который применяется при добавлении. Например, возьмем использованную в прошлых темах таблицу &lt;strong&gt;Users&lt;/strong&gt; со следующим определением:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=42&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;CREATE&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;TABLE&lt;/span&gt; Users &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;id &lt;span class=&quot;kw1&quot;&gt;INTEGER&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;AUTO_INCREMENT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;PRIMARY&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;KEY&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; name &lt;span class=&quot;kw1&quot;&gt;VARCHAR&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; pass &lt;span class=&quot;kw1&quot;&gt;VARCHAR&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;STATUS&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;VARCHAR&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Изменим в этой таблице поле &lt;strong&gt;pass&lt;/strong&gt; для строки, которая имеет &lt;strong&gt;id = 11&lt;/strong&gt;:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=43&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;update_user_db.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;?php
try &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    $conn &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NEW&lt;/span&gt; PDO&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;mysql:host=localhost;dbname=blog&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    $sql &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;UPDATE Users SET pass = 777 WHERE id = 11&amp;quot;&lt;/span&gt;;
    $affectedRowsNumber &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $conn&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;EXEC&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$sql&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;Обновлено строк: $affectedRowsNumber&amp;quot;&lt;/span&gt;;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
catch &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;PDOException $e&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;Database error: &amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; $e&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;getMessage&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
?&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
&lt;a href=&quot;http://localhost/update_user_db.php&quot; class=&quot;urlextern&quot; title=&quot;http://localhost/update_user_db.php&quot; rel=&quot;ugc nofollow&quot;&gt;http://localhost/update_user_db.php&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_update_user_db.php_27.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_update_user_db.php_27.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_update_user_db.php_27.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;p&gt;
Результат метода $conn→exec() в данном случае количество обновленных строк.&lt;br/&gt;

&lt;a href=&quot;http://localhost/phpmyadmin/index.php?route=/sql&amp;amp;pos=0&amp;amp;db=blog&amp;amp;table=users&quot; class=&quot;urlextern&quot; title=&quot;http://localhost/phpmyadmin/index.php?route=/sql&amp;amp;pos=0&amp;amp;db=blog&amp;amp;table=users&quot; rel=&quot;ugc nofollow&quot;&gt;http://localhost/phpmyadmin/index.php?route=/sql&amp;amp;pos=0&amp;amp;db=blog&amp;amp;table=users&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_update_user_db.php_28.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_update_user_db.php_28.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_update_user_db.php_28.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;p&gt;
Однако если данные на обновление приходят извне, то мы опять как и при добавлении сталкиваемся с потенциальной уязвимостью подобного подхода. Поэтому в этом случаае опять же лучше использовать параметризацию и &lt;strong&gt;prepared statements&lt;/strong&gt;.
&lt;/p&gt;

&lt;p&gt;
Отправка данных из формы и обновление
Сначала определим файл &lt;strong&gt;index_test.php&lt;/strong&gt;, который будет выводить список пользователей:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=44&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;index_test.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code php&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;title&amp;gt;index_test.php&amp;lt;/title&amp;gt;
&amp;lt;meta charset=&amp;quot;utf-8&amp;quot; /&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;h2&amp;gt;Список пользователей&amp;lt;/h2&amp;gt;
&lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt;
try &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;re0&quot;&gt;$conn&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;new&lt;/span&gt; PDO&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;mysql:host=localhost;dbname=blog&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;re0&quot;&gt;$sql&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;SELECT * FROM Users&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;re0&quot;&gt;$result&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$conn&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;query&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$sql&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Имя&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Пароль&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;foreach&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$result&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$row&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;tr&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;td&amp;gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$row&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;/td&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;td&amp;gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$row&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;pass&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;/td&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;td&amp;gt;&amp;lt;a href=&#039;update_user.php?id=&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$row&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&#039;&amp;gt;Обновить&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;/tr&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;/table&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
catch &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;PDOException &lt;span class=&quot;re0&quot;&gt;$e&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Ошибка базы данных: &amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$e&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;getMessage&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Здесь используется команда &lt;strong&gt;SELECT&lt;/strong&gt;, которая получает всех пользователей из таблицы Users. В таблице третий столбец хранит ссылку на скрипт &lt;strong&gt;update_user.php&lt;/strong&gt;, который мы далее создадим и которому передается параметр &lt;strong&gt;id&lt;/strong&gt; с идентификатором пользователя, которого надо изменить.
&lt;/p&gt;

&lt;p&gt;
Теперь определим файл &lt;strong&gt;update_user.php&lt;/strong&gt; для редактирования пользователей:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=45&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;update_user.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code php&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt; 
try &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;re0&quot;&gt;$conn&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;new&lt;/span&gt; PDO&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;mysql:host=localhost;dbname=blog&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
catch &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;PDOException &lt;span class=&quot;re0&quot;&gt;$e&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;a href=&quot;http://www.php.net/die&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;die&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Database error: &amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$e&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;getMessage&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;title&amp;gt;update_user.php&amp;lt;/title&amp;gt;
&amp;lt;meta charset=&amp;quot;utf-8&amp;quot; /&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;// если запрос GET&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$_SERVER&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;REQUEST_METHOD&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;GET&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;a href=&quot;http://www.php.net/isset&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;isset&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$_GET&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;re0&quot;&gt;$userid&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$_GET&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;re0&quot;&gt;$sql&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;SELECT * FROM Users WHERE id = :userid&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;re0&quot;&gt;$stmt&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$conn&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;prepare&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$sql&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;re0&quot;&gt;$stmt&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;bindValue&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;:userid&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$userid&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;co1&quot;&gt;// выполняем выражение и получаем пользователя по id&lt;/span&gt;
    &lt;span class=&quot;re0&quot;&gt;$stmt&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;execute&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$stmt&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;rowCount&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;foreach&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$stmt&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$row&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
            &lt;span class=&quot;re0&quot;&gt;$username&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$row&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;re0&quot;&gt;$userpass&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$row&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;pass&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;re0&quot;&gt;$userstatus&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$row&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;status&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;h3&amp;gt;Обновление пользователя&amp;lt;/h3&amp;gt;
                &amp;lt;form method=&#039;post&#039;&amp;gt;
                    &amp;lt;input type=&#039;hidden&#039; name=&#039;id&#039; value=&#039;&lt;span class=&quot;es4&quot;&gt;$userid&lt;/span&gt;&#039; /&amp;gt;
                    &amp;lt;p&amp;gt;Имя:
                    &amp;lt;input type=&#039;text&#039; name=&#039;name&#039; value=&#039;&lt;span class=&quot;es4&quot;&gt;$username&lt;/span&gt;&#039; /&amp;gt;&amp;lt;/p&amp;gt;
                    &amp;lt;p&amp;gt;Пароль:
                    &amp;lt;input type=&#039;text&#039; name=&#039;pass&#039; value=&#039;&lt;span class=&quot;es4&quot;&gt;$userpass&lt;/span&gt;&#039; /&amp;gt;&amp;lt;/p&amp;gt;
                    &amp;lt;p&amp;gt;Роль:
                    &amp;lt;input type=&#039;text&#039; name=&#039;status&#039; value=&#039;&lt;span class=&quot;es4&quot;&gt;$userstatus&lt;/span&gt;&#039; /&amp;gt;&amp;lt;/p&amp;gt;
                    &amp;lt;input type=&#039;submit&#039; value=&#039;Сохранить&#039; /&amp;gt;
            &amp;lt;/form&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Пользователь не найден&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;elseif&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a href=&quot;http://www.php.net/isset&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;isset&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$_POST&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;a href=&quot;http://www.php.net/isset&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;isset&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$_POST&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;a href=&quot;http://www.php.net/isset&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;isset&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$_POST&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;pass&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;a href=&quot;http://www.php.net/isset&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;isset&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$_POST&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;status&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;re0&quot;&gt;$sql&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;UPDATE Users SET name = :username, pass = :userpass, status = :userstatus WHERE id = :userid&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;re0&quot;&gt;$stmt&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$conn&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;prepare&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$sql&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;re0&quot;&gt;$stmt&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;bindValue&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;:userid&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$_POST&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;re0&quot;&gt;$stmt&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;bindValue&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;:username&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$_POST&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;re0&quot;&gt;$stmt&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;bindValue&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;:userpass&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$_POST&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;pass&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;re0&quot;&gt;$stmt&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;bindValue&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;:userstatus&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$_POST&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;status&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;re0&quot;&gt;$stmt&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;execute&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;a href=&quot;http://www.php.net/header&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;header&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Location: index_test.php&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Некорректные данные&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
&lt;a href=&quot;http://localhost/index_test.php&quot; class=&quot;urlextern&quot; title=&quot;http://localhost/index_test.php&quot; rel=&quot;ugc nofollow&quot;&gt;http://localhost/index_test.php&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_update_user_db.php_30.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_update_user_db.php_30.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_update_user_db.php_30.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;p&gt;
При нажатии на кнопку &lt;strong&gt;Обновить&lt;/strong&gt; браузер переместит нас на страницу обновления данных пользователя &lt;strong&gt;update_user.php&lt;/strong&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_update_user_db.php_31.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_update_user_db.php_31.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_update_user_db.php_31.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;p&gt;
&lt;a href=&quot;http://localhost/phpmyadmin/index.php?route=/sql&amp;amp;pos=0&amp;amp;db=blog&amp;amp;table=users&quot; class=&quot;urlextern&quot; title=&quot;http://localhost/phpmyadmin/index.php?route=/sql&amp;amp;pos=0&amp;amp;db=blog&amp;amp;table=users&quot; rel=&quot;ugc nofollow&quot;&gt;http://localhost/phpmyadmin/index.php?route=/sql&amp;amp;pos=0&amp;amp;db=blog&amp;amp;table=users&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_update_user_db.php_32.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_update_user_db.php_32.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_update_user_db.php_32.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;p&gt;
Весь код обновления структурно делится на две части. В первой части мы обрабатываем запрос &lt;strong&gt;Get&lt;/strong&gt;. Когда пользователь нажимает на ссылку &lt;strong&gt;&amp;quot;Обновить&amp;quot;&lt;/strong&gt; на странице &lt;strong&gt;index_test.php&lt;/strong&gt;, то отправляется запрос &lt;strong&gt;GET&lt;/strong&gt;, в котором передается &lt;strong&gt;id&lt;/strong&gt; редактируемого пользователя. Поэтому мы сначала смотрим, представляет ли запрос &lt;strong&gt;GET&lt;/strong&gt;-запрос и имеет ли он параметр &lt;strong&gt;id&lt;/strong&gt;.
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=46&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;IF&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$_SERVER&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;REQUEST_METHOD&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;GET&amp;quot;&lt;/span&gt; &amp;amp;&amp;amp; isset&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$_GET&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
И если это запрос &lt;strong&gt;GET&lt;/strong&gt;, то нам надо вывести данные редактируемого пользователя в поля формы. Для этого отправляем базе данных запрос
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=47&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;$sql &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;SELECT * FROM Users WHERE id = :userid&amp;quot;&lt;/span&gt;;
$stmt &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $conn&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;PREPARE&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$sql&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
$stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;bindValue&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;:userid&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; $userid&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
$stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;EXECUTE&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Далее получаем полученные данные и, если они имеются, выводим их в поля формы. Таким образом, пользователь увидит на форме данные редактируемого объекта.
&lt;/p&gt;

&lt;p&gt;
Вторая часть скрипта представляет обработку &lt;strong&gt;POST&lt;/strong&gt;-запроса - когда пользователь нажимает на кнопку на форме, то будет отправляться &lt;strong&gt;POST&lt;/strong&gt;-запрос с отправленными данными. Мы получаем эти данные и отправляем базе данных команду &lt;strong&gt;UPDATE&lt;/strong&gt; с этими данными, используя при этом параметризацию запроса:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=48&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;$sql &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;UPDATE Users SET name = :username, pass = :userpass, status = :userstatus WHERE id = :userid&amp;quot;&lt;/span&gt;;
$stmt &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $conn&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;PREPARE&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$sql&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
$stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;bindValue&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;:userid&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; $_POST&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
$stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;bindValue&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;:username&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; $_POST&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
$stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;bindValue&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;:userpass&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; $_POST&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;pass&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
$stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;bindValue&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;:userstatus&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; $_POST&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;status&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
$stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;EXECUTE&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
После выполнения запроса к БД перенаправляем пользователя на скрипт &lt;strong&gt;index_test.php&lt;/strong&gt; с помощью 
функции
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=49&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;update_user.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code php&quot;&gt;&lt;a href=&quot;http://www.php.net/header&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;header&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Location: index_test.php&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 PDO&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435_\u0434\u0430\u043d\u043d\u044b\u0445_\u0432_pdo&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:41,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;42868-52130&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit15&quot; id=&quot;удаление_данных_в_pdo&quot;&gt;Удаление данных в PDO&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Для удаления данных применяется sql-команда DELETE:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=50&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;delete_user.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code php&quot;&gt;DELETE FROM Таблица
WHERE столбец &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; значение&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Для удаления данных также может применяться метод &lt;strong&gt;exec()&lt;/strong&gt; объекта &lt;strong&gt;PDO&lt;/strong&gt;. Например, возьмем использованную в прошлых темах таблицу Users со следующим определением:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=51&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;SQL&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;CREATE&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;TABLE&lt;/span&gt; Users &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;id &lt;span class=&quot;kw1&quot;&gt;INTEGER&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;AUTO_INCREMENT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;PRIMARY&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;KEY&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; name &lt;span class=&quot;kw1&quot;&gt;VARCHAR&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; pass &lt;span class=&quot;kw1&quot;&gt;VARCHAR&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;STATUS&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;VARCHAR&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Рассмотрим следующий пример удаления пользователя со значением &lt;strong&gt;id = 5&lt;/strong&gt;
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=52&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;delete_user.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;?php
try &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    $conn &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NEW&lt;/span&gt; PDO&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;mysql:host=localhost;dbname=blog&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    $sql &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;DELETE FROM Users WHERE id = 5&amp;quot;&lt;/span&gt;;
    $affectedRowsNumber &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $conn&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;EXEC&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$sql&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;Удалено строк: $affectedRowsNumber&amp;quot;&lt;/span&gt;;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
catch &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;PDOException $e&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;Ошибка базы данных: &amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; $e&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;getMessage&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
?&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Результат метода &lt;strong&gt;$conn-&amp;gt;exec()&lt;/strong&gt; в данном случае количество удаленых строк. Однако опять же поскольку значение столбца, на основе которого происходит удаление, нередко приходит извне, то в этом случае лучше использовать параметризацию.
&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
&amp;lt;/code&amp;gt;
Итак, определим для вывода всех объектов из БД скрипт &lt;strong&gt;index_test.php&lt;/strong&gt;:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=53&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;index_test.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code php&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;title&amp;gt;index_test.php&amp;lt;/title&amp;gt;
&amp;lt;meta charset=&amp;quot;utf-8&amp;quot; /&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;h2&amp;gt;Список пользователей&amp;lt;/h2&amp;gt;
&lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt;
try &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;re0&quot;&gt;$conn&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;new&lt;/span&gt; PDO&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;mysql:host=localhost;dbname=blog&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;re0&quot;&gt;$sql&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;SELECT * FROM Users&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;re0&quot;&gt;$result&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$conn&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;query&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$sql&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Имя&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Пароль&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;foreach&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$result&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$row&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;tr&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;td&amp;gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$row&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;/td&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;td&amp;gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$row&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;pass&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;/td&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;td&amp;gt;&amp;lt;form action=&#039;delete_user.php&#039; method=&#039;post&#039;&amp;gt;
                        &amp;lt;input type=&#039;hidden&#039; name=&#039;id&#039; value=&#039;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$row&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&#039; /&amp;gt;
                        &amp;lt;input type=&#039;submit&#039; value=&#039;Удалить&#039;&amp;gt;
                    &amp;lt;/form&amp;gt;&amp;lt;/td&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;			
        &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;/tr&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;/table&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
catch &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;PDOException &lt;span class=&quot;re0&quot;&gt;$e&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Ошибка базы данных: &amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$e&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;getMessage&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
В таблицы для каждой строки определена форма, которая посылает данные в &lt;strong&gt;POST&lt;/strong&gt;-запросе скрипту &lt;strong&gt;delete.php&lt;/strong&gt;. Чтобы передать в &lt;strong&gt;delete.php&lt;/strong&gt; идентификатор удаляемого объекта, на форме определено скрытое поле для хранения &lt;strong&gt;id&lt;/strong&gt; объекта.
&lt;/p&gt;

&lt;p&gt;
Обратите внимание, что в данном случае применяется не ссылка для удаления типа
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=54&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_html&quot;&gt;exsample.html&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code html4strict&quot;&gt;&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/a.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;a&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;http://адрес_нашего_сайта/delete_user.php?id=1&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;Удалить&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/a.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;a&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
которая оправляет данные в GET-запросе, а именно форма, которая отправляет данные в POST-запросе. Почему? Подобные GET-запросы потенциально небезопасны. Допустим, нам пришло электронное письмо, в которое была внедрена картинка посредством тега:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=55&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_html&quot;&gt;exsample.html&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code html4strict&quot;&gt;&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/img.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;img&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;src&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;http://адрес_нашего_сайта/delete_user.php?id=1&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
В итоге при открытии письма 1-я запись в таблице может быть удалена. Уязвимость касается не только писем, но может проявляться и в других местах, но смысл один - &lt;strong&gt;GET&lt;/strong&gt;-запрос к скрипту, который удаляет данные, несет потенциальную уязвимость.
&lt;/p&gt;

&lt;p&gt;
Теперь определим сам скрипт &lt;strong&gt;delete_user.php&lt;/strong&gt;, который будет выполнять удаление:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=56&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;delete_user.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code sql&quot;&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;?php
&lt;span class=&quot;kw1&quot;&gt;IF&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;isset&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$_POST&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    try &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    $conn &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NEW&lt;/span&gt; PDO&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;mysql:host=localhost;dbname=blog&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        $sql &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;DELETE FROM Users WHERE id = :userid&amp;quot;&lt;/span&gt;;
        $stmt &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $conn&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;PREPARE&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$sql&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        $stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;bindValue&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;:userid&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; $_POST&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        $stmt&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;EXECUTE&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        header&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Location: index_test.php&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
    catch &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;PDOException $e&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        echo &lt;span class=&quot;st0&quot;&gt;&amp;quot;Ошибка базы данных: &amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; $e&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;getMessage&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
?&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
В данном случае скрипт получает через POST-запрос значение id и по этому идентификатору выполняет удаление. После чего происходит переадресация на скрипт index_test.php.
&lt;br/&gt;

&lt;a href=&quot;http://localhost/index_test.php&quot; class=&quot;urlextern&quot; title=&quot;http://localhost/index_test.php&quot; rel=&quot;ugc nofollow&quot;&gt;http://localhost/index_test.php&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_delete_user_db.php_35.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_delete_user_db.php_35.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_delete_user_db.php_35.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;p&gt;
Результат работы скрипта, удаление записи 
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_delete_user_db.php_37.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_delete_user_db.php_37.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_delete_user_db.php_37.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 PDO&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435_\u0434\u0430\u043d\u043d\u044b\u0445_\u0432_pdo&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:50,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;52131-57757&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit16&quot; id=&quot;заключение&quot;&gt;Заключение&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Изменим пути переадресации в файлах &lt;strong&gt;delete_user&lt;/strong&gt; и &lt;strong&gt;update_user&lt;/strong&gt;
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=57&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;exsample.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code php&quot;&gt;&lt;a href=&quot;http://www.php.net/header&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;header&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Location: setting_user.php&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Также добавим данный код в строку
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=58&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;create_user_form.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code php&quot;&gt;        &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$affectedRowsNumber&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Данные успешно добавлены: name=&lt;span class=&quot;es4&quot;&gt;$username&lt;/span&gt;  pass= &lt;span class=&quot;es4&quot;&gt;$userpass&lt;/span&gt; status= user&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
            &lt;a href=&quot;http://www.php.net/header&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;header&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Location: setting_user.php&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;		&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
И наконец создадим файл &lt;strong&gt;setting_user&lt;/strong&gt; который будет объединять вышенаписанное в один файл управления пользователями
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation_pdo&amp;amp;codeblock=59&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;setting_user.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code php&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;title&amp;gt;setting_user.php&amp;lt;/title&amp;gt;
&amp;lt;meta charset=&amp;quot;utf-8&amp;quot; /&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;h2&amp;gt;Список пользователей&amp;lt;/h2&amp;gt;
&lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt;
	&lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;td&amp;gt;&amp;lt;a href=&#039;create_user_form.php&#039;&amp;gt;Добавить пользователя&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
try &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;re0&quot;&gt;$conn&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;new&lt;/span&gt; PDO&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;mysql:host=localhost;dbname=blog&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;re0&quot;&gt;$sql&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;SELECT * FROM Users&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;re0&quot;&gt;$result&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$conn&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;query&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$sql&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;id&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Имя&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Пароль&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Роль&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;foreach&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$result&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$row&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;tr&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
		&lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;td&amp;gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$row&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;/td&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;td&amp;gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$row&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;/td&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;td&amp;gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$row&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;pass&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;/td&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
			&lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;td&amp;gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$row&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;status&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;/td&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
					&lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;td&amp;gt;&amp;lt;a href=&#039;update_user.php?id=&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$row&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&#039;&amp;gt;Обновить&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;td&amp;gt;&amp;lt;form action=&#039;delete_user.php&#039; method=&#039;post&#039;&amp;gt;
                        &amp;lt;input type=&#039;hidden&#039; name=&#039;id&#039; value=&#039;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$row&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&#039; /&amp;gt;
                        &amp;lt;input type=&#039;submit&#039; value=&#039;Удалить&#039;&amp;gt;
                    &amp;lt;/form&amp;gt;&amp;lt;/td&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;			
        &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;/tr&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;		
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;/table&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
catch &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;PDOException &lt;span class=&quot;re0&quot;&gt;$e&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Ошибка базы данных: &amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$e&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;getMessage&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
&lt;a href=&quot;http://localhost/setting_user.php&quot; class=&quot;urlextern&quot; title=&quot;http://localhost/setting_user.php&quot; rel=&quot;ugc nofollow&quot;&gt;http://localhost/setting_user.php&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation_pdo&amp;amp;media=software:development:web:docs:learn:mariadb:pdo_setting_user.php_40.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:pdo_setting_user.php_40.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:pdo_setting_user.php_40.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:57,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;57758-59887&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit17&quot; id=&quot;дополнения_и_файлы&quot;&gt;Дополнения и Файлы&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://metanit.com/php/mysql/2.1.php&quot; class=&quot;urlextern&quot; title=&quot;https://metanit.com/php/mysql/2.1.php&quot; rel=&quot;ugc nofollow&quot;&gt;Ссылка на оригинальную статью&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:exsample_pdo_db_230226.rar&quot; class=&quot;media mediafile mf_rar&quot; title=&quot;software:development:web:docs:learn:mariadb:exsample_pdo_db_230226.rar (6.2 KB)&quot;&gt;Файлы руководства&lt;/a&gt;

&lt;/div&gt;&lt;div class=&quot;plugin_note noteshadow&quot;&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:exsample_admin_panel_pdo_db_23.02.26.rar&quot; class=&quot;media mediafile mf_rar&quot; title=&quot;software:development:web:docs:learn:mariadb:exsample_admin_panel_pdo_db_23.02.26.rar (7 KB)&quot;&gt;Админ панель&lt;/a&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0414\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0438 \u0424\u0430\u0439\u043b\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f_\u0438_\u0444\u0430\u0439\u043b\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:60,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;59888-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 23 Feb 2026 08:53:21 +0000</pubDate>
        </item>
        <item>
            <title>вatabase_creation</title>
            <link>https://wwoss.direct.quickconnect.to/doku.php?id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation&amp;rev=1708886145</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;база_данных_php_mysql&quot;&gt;База данных PHP MySQL&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
С помощью PHP вы можете подключаться к базам данных и управлять ими.
&lt;/p&gt;

&lt;p&gt;
MySQL — самая популярная система баз данных, используемая с PHP.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0411\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 PHP MySQL&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0431\u0430\u0437\u0430_\u0434\u0430\u043d\u043d\u044b\u0445_php_mysql&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-278&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;что_такое_mysql&quot;&gt;Что такое MySQL?&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; MySQL — это система баз данных, используемая в Интернете.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; MySQL — это система баз данных, работающая на сервере&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; MySQL идеально подходит как для небольших, так и для больших приложений.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; MySQL очень быстрый, надежный и простой в использовании.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; MySQL использует стандартный SQL&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; MySQL компилируется на нескольких платформах&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; MySQL можно бесплатно загрузить и использовать.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; MySQL разрабатывается, распространяется и поддерживается корпорацией Oracle.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; MySQL названа в честь дочери соучредителя Монти Видениуса: Моя&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Данные в базе данных MySQL хранятся в таблицах. Таблица представляет собой набор связанных данных, состоящий из столбцов и строк.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Базы данных полезны для хранения категориальной информации. Компания может иметь базу данных со следующими таблицами:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Сотрудники&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Продукты&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Клиенты&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Заказы&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 MySQL?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0447\u0442\u043e_\u0442\u0430\u043a\u043e\u0435_mysql&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;279-1779&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;система_баз_данных_php_mysql&quot;&gt;Система баз данных PHP + MySQL&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; PHP в сочетании с MySQL являются кроссплатформенными (вы можете разрабатывать в Windows и использовать платформу Unix).&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 PHP + MySQL&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0438\u0441\u0442\u0435\u043c\u0430_\u0431\u0430\u0437_\u0434\u0430\u043d\u043d\u044b\u0445_php_mysql&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1780-2042&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;запросы_к_базе_данных&quot;&gt;Запросы к базе данных&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Запрос – это вопрос или просьба.
&lt;/p&gt;

&lt;p&gt;
Мы можем запросить базу данных для получения конкретной информации и получить набор записей.
&lt;/p&gt;

&lt;p&gt;
Посмотрите на следующий запрос (с использованием стандартного SQL):
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;SELECT LastName FROM Employees&lt;/pre&gt;

&lt;p&gt;
Приведенный выше запрос выбирает все данные в столбце «Фамилия» из таблицы «Сотрудники».
&lt;/p&gt;

&lt;p&gt;
Чтобы узнать больше о SQL, посетите &lt;a href=&quot;https://www.w3schools.com/sql/default.asp&quot; class=&quot;urlextern&quot; title=&quot;https://www.w3schools.com/sql/default.asp&quot; rel=&quot;ugc nofollow&quot;&gt;наш учебник по SQL&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0417\u0430\u043f\u0440\u043e\u0441\u044b \u043a \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0437\u0430\u043f\u0440\u043e\u0441\u044b_\u043a_\u0431\u0430\u0437\u0435_\u0434\u0430\u043d\u043d\u044b\u0445&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;2043-2798&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;скачать_базу_данных_mysql&quot;&gt;Скачать базу данных MySQL&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Если у вас нет PHP-сервера с базой данных MySQL, вы можете скачать его бесплатно здесь: &lt;a href=&quot;http://www.mysql.com&quot; class=&quot;urlextern&quot; title=&quot;http://www.mysql.com&quot; rel=&quot;ugc nofollow&quot;&gt;http://www.mysql.com&lt;/a&gt; .
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u043a\u0430\u0447\u0430\u0442\u044c \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 MySQL&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u043a\u0430\u0447\u0430\u0442\u044c_\u0431\u0430\u0437\u0443_\u0434\u0430\u043d\u043d\u044b\u0445_mysql&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2799-3022&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;факты_о_базе_данных_mysql&quot;&gt;Факты о базе данных MySQL&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
MySQL — это де-факто стандартная система баз данных для веб-сайтов с ОГРОМНЫМИ объемами как данных, так и конечных пользователей (например, Facebook, Twitter и Wikipedia).
&lt;/p&gt;

&lt;p&gt;
Еще одна замечательная особенность MySQL заключается в том, что ее можно масштабировать для поддержки встроенных приложений баз данных.
&lt;/p&gt;

&lt;p&gt;
Посетите &lt;a href=&quot;http://www.mysql.com/customers/&quot; class=&quot;urlextern&quot; title=&quot;http://www.mysql.com/customers/&quot; rel=&quot;ugc nofollow&quot;&gt;http://www.mysql.com/customers/&lt;/a&gt; для обзора компаний, использующих MySQL.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0424\u0430\u043a\u0442\u044b \u043e \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 MySQL&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0444\u0430\u043a\u0442\u044b_\u043e_\u0431\u0430\u0437\u0435_\u0434\u0430\u043d\u043d\u044b\u0445_mysql&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;3023-3724&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;подготовка_файлов&quot;&gt;Подготовка файлов&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Создадим c помощью блокнота на нашем сервере файл index.php
&lt;/p&gt;
&lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation&amp;amp;codeblock=1&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;index.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code file html4strict&quot;&gt;&lt;span class=&quot;sc0&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;  
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/html.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;html&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/head.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;head&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;       
        &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/meta.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;meta&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;charset&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;utf-8&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
        &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/title.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;title&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;Create a MariaDB Database&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/title.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;title&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/head.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;head&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/body.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;body&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/body.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;body&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/html.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;html&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0444\u0430\u0439\u043b\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430_\u0444\u0430\u0439\u043b\u043e\u0432&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;3725-4080&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;создание_новой_базы_данных&quot;&gt;Создание новой базы данных&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Оператор &lt;strong&gt;CREATE DATABASE&lt;/strong&gt; используется для создания базы данных в MySQL.
&lt;/p&gt;

&lt;p&gt;
В следующих примерах создается база данных с именем «my_DB»:
В тело нашей страницы между тегами &amp;lt;body&amp;gt; и &amp;lt;/body&amp;gt; вставим следующий php код
&lt;/p&gt;

&lt;p&gt;
&lt;br/&gt;

&lt;/p&gt;
&lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation&amp;amp;codeblock=2&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;index.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code file html4strict&quot;&gt;&lt;span class=&quot;sc2&quot;&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;$servername &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;localhost&amp;quot;&lt;/span&gt;; &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; Адрес сервера базы данных&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;$username &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;;  &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; Имя пользователя базы данных&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;$password &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;********&amp;quot;&lt;/span&gt;; &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; Пароль пользователя базы данных&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;sc2&quot;&gt;&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; Создаём соединение&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;$conn &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; new mysqli&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$servername, $username, $password&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; Проверим подключение&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;if &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$conn-&amp;gt;&lt;/span&gt;connect_error) {
  die(&amp;quot;Connection failed: &amp;quot; . $conn-&amp;gt;connect_error);
}
// Создадим базу данных my_DB
$sql = &amp;quot;CREATE DATABASE my_DB&amp;quot;;
if ($conn-&amp;gt;query($sql) === TRUE) {
  echo &amp;quot;База данных успешно создана&amp;quot;;
} else {
  echo &amp;quot;Ошибка создания базы данных: &amp;quot; . $conn-&amp;gt;error;
}
// Закроем соединение
$conn-&amp;gt;close();
?&amp;gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Примечание.&lt;/strong&gt; При создании новой базы данных необходимо указать только первые три аргумента объекта mysqli (имя сервера, имя пользователя и пароль).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Совет:&lt;/strong&gt; Если вам нужно использовать определенный порт, добавьте пустую строку в качестве аргумента имени базы данных, например: new mysqli(«localhost», «username», «password», «», port)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;br/&gt;

Откроем нашу страницу в браузере, где увидим надпись: База данных успешно создана.
&lt;br/&gt;

&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_1.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:mariadb_creat_database_1.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=700&amp;amp;tok=bf4834&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_1.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;700&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

Проверим создание базы данных my_DB в MariaDB с помощью PhpMyAdmin
&lt;br/&gt;

&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_2.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:mariadb_creat_database_2.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=700&amp;amp;tok=399e62&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_2.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;700&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u043e\u0432\u043e\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435_\u043d\u043e\u0432\u043e\u0439_\u0431\u0430\u0437\u044b_\u0434\u0430\u043d\u043d\u044b\u0445&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;4081-6338&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit9&quot; id=&quot;создание_таблицы&quot;&gt;Создание таблицы&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Оператор CREATE TABLE используется для создания таблицы в MySQL.
&lt;/p&gt;

&lt;p&gt;
Мы создадим таблицу с именем «MyGuests» с пятью столбцами: «id», «имя», «фамилия», «электронная почта» и «reg_date»:
В тело нашей страницы между тегами &amp;lt;body&amp;gt; и &amp;lt;/body&amp;gt; вставим следующий php код
&lt;/p&gt;
&lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation&amp;amp;codeblock=3&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;index.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code file html4strict&quot;&gt;     &lt;span class=&quot;sc2&quot;&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $servername &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;localhost&amp;quot;&lt;/span&gt;; &lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $username &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $password &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $dbname &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;my_DB&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; Создаём соединение&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $conn &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; new mysqli&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$servername, $username, $password, $dbname&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; Проверим подключение&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     if &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$conn-&amp;gt;&lt;/span&gt;connect_error) {
       die(&amp;quot;Connection failed: &amp;quot; . $conn-&amp;gt;connect_error);
     }
     // Создадим таблицу базы данных
     $sql = &amp;quot;CREATE TABLE MyGuests (
     id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
     firstname VARCHAR(30) NOT NULL,
     lastname VARCHAR(30) NOT NULL,
     email VARCHAR(50),
     reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
     )&amp;quot;;
     if ($conn-&amp;gt;query($sql) === TRUE) {
       echo &amp;quot;Таблица MyGuests успешно создана&amp;quot;;
     } else {
       echo &amp;quot;Ошибка создания таблицы: &amp;quot; . $conn-&amp;gt;error;
     }
     // Закроем соединение
     $conn-&amp;gt;close();
     ?&amp;gt; &lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
&lt;strong&gt;Примечания к таблице выше:&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Тип данных указывает, какой тип данных может содержать столбец. Полную информацию обо всех доступных типах данных можно найти в нашем справочнике по типам данных .
&lt;/p&gt;

&lt;p&gt;
После типа данных вы можете указать другие необязательные атрибуты для каждого столбца:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; NOT NULL — каждая строка должна содержать значение для этого столбца, значения NULL не допускаются.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Значение DEFAULT — установите значение по умолчанию, которое добавляется, когда не передается другое значение.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; UNSIGNED — используется для числовых типов, ограничивает сохраняемые данные положительными числами и нулем.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; АВТОУвеличение — MySQL автоматически увеличивает значение поля на 1 каждый раз, когда добавляется новая запись.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ПЕРВИЧНЫЙ КЛЮЧ — используется для уникальной идентификации строк в таблице. Столбец с настройкой PRIMARY KEY часто представляет собой идентификационный номер и часто используется с AUTO_INCREMENT.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Каждая таблица должна иметь столбец первичного ключа (в данном случае столбец «id»). Его значение должно быть уникальным для каждой записи в таблице.
&lt;/p&gt;

&lt;p&gt;
В следующих примерах показано, как создать таблицу в PHP:
&lt;br/&gt;

Откроем нашу страницу в браузере, где увидим надпись: Таблица MyGuests успешно создана.
&lt;br/&gt;

&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_3.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:mariadb_creat_database_3.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=700&amp;amp;tok=e2fe64&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_3.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;700&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

Проверим создание таблицы MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin
&lt;br/&gt;

&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_4.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:mariadb_creat_database_4.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=700&amp;amp;tok=fd7536&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_4.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;700&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435_\u0442\u0430\u0431\u043b\u0438\u0446\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;6339-10328&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit10&quot; id=&quot;вставка_данных&quot;&gt;Вставка данных&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
После того, как база данных и таблица созданы, мы можем начать добавлять в них данные.
&lt;/p&gt;

&lt;p&gt;
Вот несколько правил синтаксиса, которым следует следовать:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; SQL-запрос должен быть заключен в кавычки в PHP.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Строковые значения внутри запроса SQL должны быть заключены в кавычки.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Числовые значения не должны заключаться в кавычки&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Слово NULL не должно заключаться в кавычки&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Оператор INSERT INTO используется для добавления новых записей в таблицу MySQL:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)&lt;/pre&gt;

&lt;p&gt;
Чтобы узнать больше о SQL, посетите наш учебник по SQL .
&lt;/p&gt;

&lt;p&gt;
В предыдущей главе мы создали пустую таблицу с именем «MyGuests» с пятью столбцами: «id», «имя», «фамилия», «электронная почта» и «reg_date». Теперь заполним таблицу данными.
&lt;/p&gt;

&lt;p&gt;
Примечание. Если столбец имеет значение AUTO_INCREMENT (например, столбец «id») или TIMESTAMP с обновлением по умолчанию current_timesamp (например, столбец «reg_date»), его нет необходимости указывать в SQL-запросе; MySQL автоматически добавит это значение.
&lt;/p&gt;

&lt;p&gt;
В следующих примерах в таблицу «MyGuests» добавляется новая запись.
В тело нашей страницы между тегами &amp;lt;body&amp;gt; и &amp;lt;/body&amp;gt; вставим следующий php код
&lt;/p&gt;
&lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation&amp;amp;codeblock=5&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;index.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code file html4strict&quot;&gt;     &lt;span class=&quot;sc2&quot;&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $servername &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;localhost&amp;quot;&lt;/span&gt;; &lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $username &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $password &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $dbname &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;my_DB&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; Создаём соединение&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $conn &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; new mysqli&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$servername, $username, $password, $dbname&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; Проверим подключение&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     if &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$conn-&amp;gt;&lt;/span&gt;connect_error) {
       die(&amp;quot;Ошибка соединения: &amp;quot; . $conn-&amp;gt;connect_error);
     }
     // Добавим новую запись
     $sql = &amp;quot;INSERT INTO MyGuests (firstname, lastname, email)
     VALUES (&#039;John&#039;, &#039;Doe&#039;, &#039;john@example.com&#039;)&amp;quot;;
&amp;nbsp;
     if ($conn-&amp;gt;query($sql) === TRUE) {
     echo &amp;quot;New record created successfully&amp;quot;;
      } else {
        echo &amp;quot;Error: &amp;quot; . $sql . &amp;quot;&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/br.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;br&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;&amp;quot; . $conn-&amp;gt;error;
      }
     // Закроем соединение
     $conn-&amp;gt;close();
     ?&amp;gt; &lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
&lt;br/&gt;

Откроем нашу страницу в браузере, где увидим надпись: Новая запись успешно создана.
&lt;br/&gt;

&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_5.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:mariadb_creat_database_5.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=700&amp;amp;tok=3147e3&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_5.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;700&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

Проверим создание новой записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin
&lt;br/&gt;

&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_6.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:mariadb_creat_database_6.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=700&amp;amp;tok=de2343&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_6.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;700&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0412\u0441\u0442\u0430\u0432\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0432\u0441\u0442\u0430\u0432\u043a\u0430_\u0434\u0430\u043d\u043d\u044b\u0445&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;10329-13654&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit11&quot; id=&quot;получаем_идентификатор_последней_записи&quot;&gt;Получаем идентификатор последней записи&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Если мы выполним INSERT или UPDATE для таблицы с полем AUTO_INCREMENT, мы сможем немедленно получить идентификатор последней вставленной/обновленной записи.
&lt;/p&gt;

&lt;p&gt;
В таблице «MyGuests» столбец «id» представляет собой поле AUTO_INCREMENT:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)&lt;/pre&gt;

&lt;p&gt;
Следующий пример аналогичен придыдущему примеру ( Вставка данных PHP в MySQL ), за исключением того, что мы добавили одну строку кода для получения идентификатора последней вставленной записи. Мы также отображаем последний вставленный идентификатор:
В тело нашей страницы между тегами &amp;lt;body&amp;gt; и &amp;lt;/body&amp;gt; вставим следующий php код
&lt;/p&gt;
&lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation&amp;amp;codeblock=7&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;index.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code file html4strict&quot;&gt;     &lt;span class=&quot;sc2&quot;&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $servername &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;localhost&amp;quot;&lt;/span&gt;; &lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $username &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $password &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $dbname &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;my_DB&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; Создаём соединение&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $conn &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; new mysqli&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$servername, $username, $password, $dbname&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; Проверим подключение&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     if &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$conn-&amp;gt;&lt;/span&gt;connect_error) {
       die(&amp;quot;Ошибка соединения: &amp;quot; . $conn-&amp;gt;connect_error);
     }
     // Добавим новую запись
     $sql = &amp;quot;INSERT INTO MyGuests (firstname, lastname, email)
     VALUES (&#039;John&#039;, &#039;Doe&#039;, &#039;john@example.com&#039;)&amp;quot;;
&amp;nbsp;
     if ($conn-&amp;gt;query($sql) === TRUE) {
     echo &amp;quot;New record created successfully&amp;quot;;
      } else {
        echo &amp;quot;Error: &amp;quot; . $sql . &amp;quot;&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/br.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;br&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;&amp;quot; . $conn-&amp;gt;error;
      }
     // Закроем соединение
     $conn-&amp;gt;close();
     ?&amp;gt; &lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
&lt;br/&gt;

Откроем нашу страницу в браузере, где увидим надпись: Новая запись успешно создана. Последний вставленный идентификатор:2
&lt;br/&gt;

&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_7.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:mariadb_creat_database_7.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=700&amp;amp;tok=7fab3b&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_7.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;700&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

Проверим создание новой записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin
&lt;br/&gt;

&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_8.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:mariadb_creat_database_8.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=700&amp;amp;tok=a6819f&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_8.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;700&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0437\u0430\u043f\u0438\u0441\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c_\u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440_\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439_\u0437\u0430\u043f\u0438\u0441\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:6,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;13655-16336&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit12&quot; id=&quot;вставка_нескольких_записей&quot;&gt;Вставка нескольких записей&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
С помощью функции необходимо выполнить несколько операторов SQL mysqli_multi_query().
&lt;/p&gt;

&lt;p&gt;
В следующих примерах в таблицу «MyGuests» добавляются три новые записи:
В тело нашей страницы между тегами &amp;lt;body&amp;gt; и &amp;lt;/body&amp;gt; вставим следующий php код
&lt;/p&gt;
&lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation&amp;amp;codeblock=8&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;index.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code file html4strict&quot;&gt;     &lt;span class=&quot;sc2&quot;&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $servername &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;localhost&amp;quot;&lt;/span&gt;; &lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $username &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $password &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $dbname &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;my_DB&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; Создаём соединение&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $conn &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; new mysqli&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$servername, $username, $password, $dbname&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; Проверим подключение&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     if &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$conn-&amp;gt;&lt;/span&gt;connect_error) {
       die(&amp;quot;Ошибка соединения: &amp;quot; . $conn-&amp;gt;connect_error);
     }
     // Добавим несколько новую запись
     $sql = &amp;quot;INSERT INTO MyGuests (firstname, lastname, email)
     VALUES (&#039;John&#039;, &#039;Doe&#039;, &#039;john@example.com&#039;);&amp;quot;;
     $sql .= &amp;quot;INSERT INTO MyGuests (firstname, lastname, email)
     VALUES (&#039;Mary&#039;, &#039;Moe&#039;, &#039;mary@example.com&#039;);&amp;quot;;
     $sql .= &amp;quot;INSERT INTO MyGuests (firstname, lastname, email)
     VALUES (&#039;Julie&#039;, &#039;Dooley&#039;, &#039;julie@example.com&#039;)&amp;quot;;
&amp;nbsp;
     if ($conn-&amp;gt;multi_query($sql) === TRUE) {
       echo &amp;quot;New records created successfully&amp;quot;;
     } else {
       echo &amp;quot;Error: &amp;quot; . $sql . &amp;quot;&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/br.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;br&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;&amp;quot; . $conn-&amp;gt;error;
     }
     // Закроем соединение
     $conn-&amp;gt;close();
     ?&amp;gt; &lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Обратите внимание, что каждый оператор SQL должен быть разделен точкой с запятой.
&lt;br/&gt;

Откроем нашу страницу в браузере, где увидим надпись: Новые записи успешно созданы
&lt;br/&gt;

&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_9.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:mariadb_creat_database_9.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=700&amp;amp;tok=54aa2f&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_9.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;700&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

Проверим создание новой записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin
&lt;br/&gt;

&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_10.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:mariadb_creat_database_10.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=700&amp;amp;tok=630527&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_10.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;700&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0412\u0441\u0442\u0430\u0432\u043a\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0432\u0441\u0442\u0430\u0432\u043a\u0430_\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445_\u0437\u0430\u043f\u0438\u0441\u0435\u0439&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;16337-18516&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit13&quot; id=&quot;подготовленные_операторы_и_связанные_параметры&quot;&gt;Подготовленные операторы и связанные параметры&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Подготовленный оператор — это функция, используемая для многократного выполнения одних и тех же (или аналогичных) операторов SQL с высокой эффективностью.
&lt;/p&gt;

&lt;p&gt;
Подготовленные операторы в основном работают следующим образом:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Подготовка. Шаблон инструкции SQL создается и отправляется в базу данных. Определенные значения остаются неуказанными и называются параметрами (помечены знаком «?»). Пример: INSERT INTO MyGuests VALUES(?, ?, ?)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; База данных анализирует, компилирует и выполняет оптимизацию запросов по шаблону инструкции SQL и сохраняет результат, не выполняя его.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Выполнение: позже приложение привязывает значения к параметрам, и база данных выполняет оператор. Приложение может выполнить оператор столько раз, сколько захочет, с разными значениями.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
По сравнению с непосредственным выполнением операторов SQL подготовленные операторы имеют три основных преимущества:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Подготовленные операторы сокращают время анализа, поскольку подготовка запроса выполняется только один раз (хотя оператор выполняется несколько раз).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Связанные параметры минимизируют пропускную способность сервера, поскольку вам нужно каждый раз отправлять только параметры, а не весь запрос.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Подготовленные операторы очень полезны против SQL-инъекций, поскольку значения параметров, которые передаются позже с использованием другого протокола, не требуют правильного экранирования. Если исходный шаблон инструкции не получен из внешних входных данных, SQL-инъекция не может произойти.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
В следующем примере используются подготовленные операторы и связанные параметры в MySQLi:
В тело нашей страницы между тегами &amp;lt;body&amp;gt; и &amp;lt;/body&amp;gt; вставим следующий php код
&lt;/p&gt;
&lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation&amp;amp;codeblock=9&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;index.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code file html4strict&quot;&gt;     &lt;span class=&quot;sc2&quot;&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $servername &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;localhost&amp;quot;&lt;/span&gt;; &lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $username &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $password &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $dbname &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;my_DB&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; Создаём соединение&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $conn &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; new mysqli&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$servername, $username, $password, $dbname&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; Проверим подключение&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     if &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$conn-&amp;gt;&lt;/span&gt;connect_error) {
       die(&amp;quot;Ошибка соединения: &amp;quot; . $conn-&amp;gt;connect_error);
     }
     // подготовить и связать
     $stmt = $conn-&amp;gt;prepare(&amp;quot;INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)&amp;quot;);
     $stmt-&amp;gt;bind_param(&amp;quot;sss&amp;quot;, $firstname, $lastname, $email);
&amp;nbsp;
     // задайте параметры и выполните
     $firstname = &amp;quot;John&amp;quot;;
     $lastname = &amp;quot;Doe&amp;quot;;
     $email = &amp;quot;john@example.com&amp;quot;;
     $stmt-&amp;gt;execute();
&amp;nbsp;
     $firstname = &amp;quot;Mary&amp;quot;;
     $lastname = &amp;quot;Moe&amp;quot;;
     $email = &amp;quot;mary@example.com&amp;quot;;
     $stmt-&amp;gt;execute();
&amp;nbsp;
     $firstname = &amp;quot;Julie&amp;quot;;
     $lastname = &amp;quot;Dooley&amp;quot;;
     $email = &amp;quot;julie@example.com&amp;quot;;
     $stmt-&amp;gt;execute();
&amp;nbsp;
     echo &amp;quot;New records created successfully&amp;quot;;
&amp;nbsp;
     $stmt-&amp;gt;close();
     // Закроем соединение
     $conn-&amp;gt;close();
     ?&amp;gt; &lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Строки кода для пояснения из примера выше:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;quot;INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)&amp;quot;&lt;/pre&gt;

&lt;p&gt;
В нашем SQL мы вставляем вопросительный знак (?) туда, где хотим заменить целое, строковое, двойное или BLOB-значение.
&lt;/p&gt;

&lt;p&gt;
Затем взгляните на функциюbind_param():
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$stmt-&amp;gt;bind_param(&amp;quot;sss&amp;quot;, $firstname, $lastname, $email);&lt;/pre&gt;

&lt;p&gt;
Эта функция привязывает параметры к SQL-запросу и сообщает базе данных, что это за параметры. Аргумент «sss» перечисляет типы данных, которыми являются параметры. Символ s сообщает MySQL, что параметр является строкой.
&lt;/p&gt;

&lt;p&gt;
Аргумент может быть одного из четырех типов:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; i - целое число&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; d - двойной&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; s - строка&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; b - БЛОБ&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
У нас должно быть по одному из них для каждого параметра.
&lt;/p&gt;

&lt;p&gt;
Сообщая mysql, какой тип данных следует ожидать, мы минимизируем риск SQL-инъекций.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Примечание.&lt;/strong&gt; Если мы хотим вставить какие-либо данные из внешних источников (например, пользовательский ввод), очень важно, чтобы данные были очищены и проверены.
&lt;br/&gt;

Откроем нашу страницу в браузере, где увидим надпись: Новые записи успешно созданы
&lt;br/&gt;

&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_11.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:mariadb_creat_database_11.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=700&amp;amp;tok=4a7de4&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_11.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;700&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

Проверим создание новой записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin
&lt;br/&gt;

&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_12.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:mariadb_creat_database_12.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=700&amp;amp;tok=ac804d&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_12.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;700&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0438 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435_\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b_\u0438_\u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435_\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;18517-24864&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit14&quot; id=&quot;выбор_данных_из_базы_данных_mysql&quot;&gt;Выбор данных из базы данных MySQL&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Оператор SELECT используется для выбора данных из одной или нескольких таблиц:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;SELECT column_name(s) FROM table_name&lt;/pre&gt;

&lt;p&gt;
или мы можем использовать символ *, чтобы выбрать ВСЕ столбцы из таблицы:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;SELECT * FROM table_name&lt;/pre&gt;

&lt;p&gt;
В следующем примере выбираются столбцы id, firstname и Lastname из таблицы MyGuests и отображаются на странице:
В тело нашей страницы между тегами &amp;lt;body&amp;gt; и &amp;lt;/body&amp;gt; вставим следующий php код
&lt;/p&gt;
&lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation&amp;amp;codeblock=14&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;index.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code file html4strict&quot;&gt;     &lt;span class=&quot;sc2&quot;&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $servername &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;localhost&amp;quot;&lt;/span&gt;; &lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $username &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $password &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $dbname &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;my_DB&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; Создаём соединение&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $conn &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; new mysqli&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$servername, $username, $password, $dbname&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; Проверим подключение&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     if &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$conn-&amp;gt;&lt;/span&gt;connect_error) {
       die(&amp;quot;Ошибка соединения: &amp;quot; . $conn-&amp;gt;connect_error);
     }
     // подготовить и связать
     $stmt = $conn-&amp;gt;prepare(&amp;quot;INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)&amp;quot;);
     $stmt-&amp;gt;bind_param(&amp;quot;sss&amp;quot;, $firstname, $lastname, $email);
&amp;nbsp;
&amp;nbsp;
     $sql = &amp;quot;SELECT id, firstname, lastname FROM MyGuests&amp;quot;;
     $result = $conn-&amp;gt;query($sql);
&amp;nbsp;
     if ($result-&amp;gt;num_rows &amp;gt; 0) {
       //выводим данные каждой строки
       while($row = $result-&amp;gt;fetch_assoc()) {
         echo &amp;quot;id: &amp;quot; . $row[&amp;quot;id&amp;quot;]. &amp;quot; - Name: &amp;quot; . $row[&amp;quot;firstname&amp;quot;]. &amp;quot; &amp;quot; . $row[&amp;quot;lastname&amp;quot;]. &amp;quot;&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/br.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;br&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;&amp;quot;;
       }
     } else {
       echo &amp;quot;0 results&amp;quot;;
     }
     ?&amp;gt; &lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Строки кода для пояснения из примера выше:
&lt;/p&gt;

&lt;p&gt;
Сначала мы настраиваем SQL-запрос, который выбирает столбцы идентификатора, имени и фамилии из таблицы MyGuests. Следующая строка кода запускает запрос и помещает полученные данные в переменную с именем $result.
&lt;/p&gt;

&lt;p&gt;
Затем функция num_rows() проверяет, возвращено ли больше нулевых строк.
&lt;/p&gt;

&lt;p&gt;
Если возвращается более нуля строк, функция fetch_assoc() помещает все результаты в ассоциативный массив, который мы можем просмотреть в цикле. Цикл while() проходит по результирующему набору и выводит данные из столбцов id, firstname и Lastname.
&lt;br/&gt;

Откроем нашу страницу в браузере, где увидим надпись:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; id: 1 - Имя: Джон Доу&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; id: 4 - Имя: Влад Польский&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; id: 5 - Имя: Джон Доу&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; id: 6 - Имя: Мэри Мо&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; id: 7 - Имя: Джули Дули&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; id: 8 - Имя: Джон Доу&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; id: 9 - Имя: Мэри Мо&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ID: 10 - Имя: Джули Дули&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;br/&gt;

&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_13.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:mariadb_creat_database_13.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=700&amp;amp;tok=14fd80&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_13.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;700&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

Проверим создание новой записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin
&lt;br/&gt;

&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_14.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:mariadb_creat_database_14.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=700&amp;amp;tok=0eb38e&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_14.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;700&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0412\u044b\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 MySQL&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0432\u044b\u0431\u043e\u0440_\u0434\u0430\u043d\u043d\u044b\u0445_\u0438\u0437_\u0431\u0430\u0437\u044b_\u0434\u0430\u043d\u043d\u044b\u0445_mysql&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:12,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;24865-28389&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit15&quot; id=&quot;выбор_и_фильтрация_данных_из_базы_данных_mysql&quot;&gt;Выбор и фильтрация данных из базы данных MySQL&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Предложение WHERE используется для фильтрации записей.
&lt;/p&gt;

&lt;p&gt;
Предложение WHERE используется для извлечения только тех записей, которые соответствуют указанному условию.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;SELECT column_name(s) FROM table_name WHERE column_name operator value &lt;/pre&gt;

&lt;p&gt;
&lt;strong&gt;Выбирайте и фильтруйте данные с помощью MySQLi&lt;/strong&gt;
В следующем примере выбираются столбцы id, firstname и Lastname из таблицы MyGuests, где фамилия — «Doe», и отображаются на странице:
В тело нашей страницы между тегами &amp;lt;body&amp;gt; и &amp;lt;/body&amp;gt; вставим следующий php код
&lt;/p&gt;
&lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation&amp;amp;codeblock=16&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;index.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code file html4strict&quot;&gt;     &lt;span class=&quot;sc2&quot;&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $servername &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;localhost&amp;quot;&lt;/span&gt;; &lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $username &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $password &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $dbname &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;my_DB&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; Создаём соединение&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $conn &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; new mysqli&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$servername, $username, $password, $dbname&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; Проверим подключение&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     if &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$conn-&amp;gt;&lt;/span&gt;connect_error) {
       die(&amp;quot;Ошибка соединения: &amp;quot; . $conn-&amp;gt;connect_error);
     }
     // подготовить
      $sql = &amp;quot;SELECT id, firstname, lastname FROM MyGuests WHERE lastname=&#039;Doe&#039;&amp;quot;;
      $result = $conn-&amp;gt;query($sql);
&amp;nbsp;
      if ($result-&amp;gt;num_rows &amp;gt; 0) {
        // output data of each row
        while($row = $result-&amp;gt;fetch_assoc()) {
          echo &amp;quot;id: &amp;quot; . $row[&amp;quot;id&amp;quot;]. &amp;quot; - Name: &amp;quot; . $row[&amp;quot;firstname&amp;quot;]. &amp;quot; &amp;quot; . $row[&amp;quot;lastname&amp;quot;]. &amp;quot;&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/br.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;br&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;&amp;quot;;
        }
      } else {
        echo &amp;quot;0 results&amp;quot;;
      }
     ?&amp;gt; &lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Строки кода для пояснения из примера выше:
&lt;/p&gt;

&lt;p&gt;
Сначала мы настраиваем SQL-запрос, который выбирает столбцы идентификатора, имени и фамилии из таблицы MyGuests, где фамилия — «Doe». Следующая строка кода запускает запрос и помещает полученные данные в переменную с именем $result.
&lt;/p&gt;

&lt;p&gt;
Затем проверяется, function num_rows()возвращено ли более нуля строк.
&lt;/p&gt;

&lt;p&gt;
Если возвращается более нуля строк, функция fetch_assoc()помещает все результаты в ассоциативный массив, который мы можем просмотреть в цикле. Цикл while()проходит по результирующему набору и выводит данные из столбцов id, firstname и Lastname.
&lt;br/&gt;

Откроем нашу страницу в браузере, где увидим надпись: &lt;br/&gt;

id: 1 - Имя: Джон Доу&lt;br/&gt;

id: 5 - Имя: Джон Доу&lt;br/&gt;

id: 8 - Имя: Джон Доу
&lt;br/&gt;

&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_15.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:mariadb_creat_database_15.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=700&amp;amp;tok=ce4dd5&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_15.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;700&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

Проверим создание новой записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin
&lt;br/&gt;

&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_16.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:mariadb_creat_database_16.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=700&amp;amp;tok=f2348e&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_16.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;700&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0412\u044b\u0431\u043e\u0440 \u0438 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 MySQL&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0432\u044b\u0431\u043e\u0440_\u0438_\u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f_\u0434\u0430\u043d\u043d\u044b\u0445_\u0438\u0437_\u0431\u0430\u0437\u044b_\u0434\u0430\u043d\u043d\u044b\u0445_mysql&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:15,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;28390-31719&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit16&quot; id=&quot;выбор_и_заказ_данных_из_базы_данных_mysql&quot;&gt;Выбор и заказ данных из базы данных MySQL&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Предложение ORDER BY используется для сортировки набора результатов в порядке возрастания или убывания.
&lt;/p&gt;

&lt;p&gt;
Предложение ORDER BY по умолчанию сортирует записи в порядке возрастания. Чтобы отсортировать записи в порядке убывания, используйте ключевое слово DESC.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;SELECT column_name(s) FROM table_name ORDER BY column_name(s) ASC|DESC &lt;/pre&gt;

&lt;p&gt;
&lt;strong&gt;Выбор и заказ данных с помощью MySQLi&lt;/strong&gt;
В следующем примере выбираются столбцы идентификатора, имени и фамилии из таблицы MyGuests. Записи будут упорядочены по столбцу фамилии:
В тело нашей страницы между тегами &amp;lt;body&amp;gt; и &amp;lt;/body&amp;gt; вставим следующий php код
&lt;/p&gt;
&lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation&amp;amp;codeblock=18&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;index.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code file html4strict&quot;&gt;     &lt;span class=&quot;sc2&quot;&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $servername &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;localhost&amp;quot;&lt;/span&gt;; &lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $username &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $password &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $dbname &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;my_DB&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; Создаём соединение&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $conn &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; new mysqli&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$servername, $username, $password, $dbname&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; Проверим подключение&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     if &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$conn-&amp;gt;&lt;/span&gt;connect_error) {
       die(&amp;quot;Ошибка соединения: &amp;quot; . $conn-&amp;gt;connect_error);
     }
     // подготовить
     $sql = &amp;quot;SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname&amp;quot;;
     $result = $conn-&amp;gt;query($sql);
&amp;nbsp;
     if ($result-&amp;gt;num_rows &amp;gt; 0) {
       // output data of each row
       while($row = $result-&amp;gt;fetch_assoc()) {
         echo &amp;quot;id: &amp;quot; . $row[&amp;quot;id&amp;quot;]. &amp;quot; - Name: &amp;quot; . $row[&amp;quot;firstname&amp;quot;]. &amp;quot; &amp;quot; . $row[&amp;quot;lastname&amp;quot;]. &amp;quot;&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/br.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;br&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;&amp;quot;;
       }
     } else {
       echo &amp;quot;0 results&amp;quot;;
     }
     // Закроем соединение
     $conn-&amp;gt;close();
     ?&amp;gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
Строки кода для пояснения из примера выше:
&lt;/p&gt;

&lt;p&gt;
Сначала мы настраиваем SQL-запрос, который выбирает столбцы идентификатора, имени и фамилии из таблицы MyGuests. Записи будут упорядочены по столбцу фамилии. Следующая строка кода запускает запрос и помещает полученные данные в переменную с именем $result.
&lt;/p&gt;

&lt;p&gt;
Затем проверяется, function num_rows()возвращено ли более нуля строк.
&lt;/p&gt;

&lt;p&gt;
Если возвращается более нуля строк, функция fetch_assoc()помещает все результаты в ассоциативный массив, который мы можем просмотреть в цикле. Цикл while()проходит по результирующему набору и выводит данные из столбцов id, firstname и Lastname.
&lt;br/&gt;

Откроем нашу страницу в браузере, где увидим надпись: &lt;br/&gt;

id: 1 - Name: John Doe&lt;br/&gt;

id: 5 - Name: John Doe&lt;br/&gt;

id: 8 - Name: John Doe&lt;br/&gt;

id: 7 - Name: Julie Dooley&lt;br/&gt;

id: 10 - Name: Julie Dooley&lt;br/&gt;

id: 6 - Name: Mary Moe&lt;br/&gt;

id: 9 - Name: Mary Moe&lt;br/&gt;

id: 4 - Name: Vlad Polskiy&lt;br/&gt;

&lt;br/&gt;

&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_17.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:mariadb_creat_database_17.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=700&amp;amp;tok=9baa76&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_17.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;700&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

Проверим создание новой записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin
&lt;br/&gt;

&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_18.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:mariadb_creat_database_18.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=700&amp;amp;tok=83f9ec&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_18.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;700&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0412\u044b\u0431\u043e\u0440 \u0438 \u0437\u0430\u043a\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 MySQL&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0432\u044b\u0431\u043e\u0440_\u0438_\u0437\u0430\u043a\u0430\u0437_\u0434\u0430\u043d\u043d\u044b\u0445_\u0438\u0437_\u0431\u0430\u0437\u044b_\u0434\u0430\u043d\u043d\u044b\u0445_mysql&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:17,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;31720-35441&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit17&quot; id=&quot;удаление_данных_из_таблицы_mysql_с_использованием_mysqli&quot;&gt;Удаление данных из таблицы MySQL с использованием MySQLi&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Оператор DELETE используется для удаления записей из таблицы:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;DELETE FROM table_name
WHERE some_column = some_value&lt;/pre&gt;

&lt;p&gt;
&lt;strong&gt;Обратите внимание на предложение WHERE в синтаксисе DELETE: Предложение WHERE указывает, какую запись или записи следует удалить. Если вы опустите предложение WHERE, все записи будут удалены!&lt;/strong&gt;
Давайте посмотрим на таблицу «MyGuests»:
&lt;br/&gt;

&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_18.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:mariadb_creat_database_18.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=700&amp;amp;tok=83f9ec&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_18.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;700&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

В следующих примерах удаляется запись с идентификатором = 5 в таблице «MyGuests»:
В тело нашей страницы между тегами &amp;lt;body&amp;gt; и &amp;lt;/body&amp;gt; вставим следующий php код
&lt;/p&gt;
&lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation&amp;amp;codeblock=20&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;index.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code file html4strict&quot;&gt;     &lt;span class=&quot;sc2&quot;&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $servername &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;localhost&amp;quot;&lt;/span&gt;; &lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $username &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $password &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $dbname &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;my_DB&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; Создаём соединение&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $conn &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; new mysqli&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$servername, $username, $password, $dbname&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; Проверим подключение&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     if &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$conn-&amp;gt;&lt;/span&gt;connect_error) {
       die(&amp;quot;Ошибка соединения: &amp;quot; . $conn-&amp;gt;connect_error);
     }
     // sql to delete a record
     $sql = &amp;quot;DELETE FROM MyGuests WHERE id=5&amp;quot;;
&amp;nbsp;
     if ($conn-&amp;gt;query($sql) === TRUE) {
      echo &amp;quot;Record deleted successfully&amp;quot;;
     } else {
     echo &amp;quot;Error deleting record: &amp;quot; . $conn-&amp;gt;error;
     }
     // Закроем соединение
     $conn-&amp;gt;close();
     ?&amp;gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
&lt;br/&gt;

Откроем нашу страницу в браузере, где увидим надпись: Запись успешно удалена
&lt;br/&gt;

&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_19.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:mariadb_creat_database_19.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=700&amp;amp;tok=d389ce&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_19.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;700&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

Проверим записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin
&lt;br/&gt;

&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_20.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:mariadb_creat_database_20.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=700&amp;amp;tok=ce5acd&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_20.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;700&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b MySQL \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c MySQLi&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435_\u0434\u0430\u043d\u043d\u044b\u0445_\u0438\u0437_\u0442\u0430\u0431\u043b\u0438\u0446\u044b_mysql_\u0441_\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c_mysqli&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:19,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;35442-37683&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit18&quot; id=&quot;обновление_данных_в_таблице_mysql_используя_mysqli&quot;&gt;Обновление данных в таблице MySQL, используя MySQLi&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Оператор UPDATE используется для обновления существующих записей в таблице:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value &lt;/pre&gt;

&lt;p&gt;
&lt;strong&gt;Обратите внимание на предложение WHERE в синтаксисе UPDATE: Предложение WHERE указывает, какую запись или записи следует обновить. Если вы опустите предложение WHERE, все записи будут обновлены!&lt;/strong&gt;
Давайте посмотрим на таблицу «MyGuests»:
&lt;br/&gt;

&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_20.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:mariadb_creat_database_20.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=700&amp;amp;tok=ce5acd&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_20.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;700&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

В следующих примерах запись обновляется с id=4 в таблице «MyGuests».
В тело нашей страницы между тегами &amp;lt;body&amp;gt; и &amp;lt;/body&amp;gt; вставим следующий php код
&lt;/p&gt;
&lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:learn:mariadb:%D0%B2atabase_creation&amp;amp;codeblock=22&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_php&quot;&gt;index.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code file html4strict&quot;&gt;     &lt;span class=&quot;sc2&quot;&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $servername &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;localhost&amp;quot;&lt;/span&gt;; &lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $username &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $password &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $dbname &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;my_DB&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; Создаём соединение&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     $conn &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; new mysqli&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$servername, $username, $password, $dbname&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     &lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; Проверим подключение&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;     if &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;$conn-&amp;gt;&lt;/span&gt;connect_error) {
       die(&amp;quot;Ошибка соединения: &amp;quot; . $conn-&amp;gt;connect_error);
     }
     $sql = &amp;quot;UPDATE MyGuests SET lastname=&#039;Doe&#039; WHERE id=2&amp;quot;;
&amp;nbsp;
     if ($conn-&amp;gt;query($sql) === TRUE) {
      echo &amp;quot;Record updated successfully&amp;quot;;
     } else {
       echo &amp;quot;Error updating record: &amp;quot; . $conn-&amp;gt;error;
      }
     // Закроем соединение
     $conn-&amp;gt;close();
     ?&amp;gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
&lt;br/&gt;

Откроем нашу страницу в браузере, где увидим надпись: Запись успешно удалена
&lt;br/&gt;

&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_21.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:mariadb_creat_database_21.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=700&amp;amp;tok=0b750f&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_21.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;700&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

Проверим записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin
&lt;br/&gt;

&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3A%D0%B2atabase_creation&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_22.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:mariadb_creat_database_22.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=700&amp;amp;tok=8228c8&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_22.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;700&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 MySQL, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f MySQLi&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435_\u0434\u0430\u043d\u043d\u044b\u0445_\u0432_\u0442\u0430\u0431\u043b\u0438\u0446\u0435_mysql_\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f_mysqli&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:21,&amp;quot;secid&amp;quot;:18,&amp;quot;range&amp;quot;:&amp;quot;37684-39940&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit19&quot; id=&quot;ограничение_выбора_данных_из_базы_данных_mysql&quot;&gt;Ограничение выбора данных из базы данных MySQL&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
MySQL предоставляет предложение LIMIT, которое используется для указания количества возвращаемых записей.
&lt;/p&gt;

&lt;p&gt;
Предложение LIMIT упрощает кодирование многостраничных результатов или разбиение на страницы с помощью SQL и очень полезно для больших таблиц. Возврат большого количества записей может повлиять на производительность.
&lt;/p&gt;

&lt;p&gt;
Предположим, мы хотим выбрать все записи от 1 до 30 (включительно) из таблицы «Заказы». Тогда SQL-запрос будет выглядеть так:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$sql = &amp;quot;SELECT * FROM Orders LIMIT 30&amp;quot;;&lt;/pre&gt;

&lt;p&gt;
При выполнении приведенного выше SQL-запроса он вернет первые 30 записей.
&lt;/p&gt;

&lt;p&gt;
Что делать, если мы хотим выбрать записи с 16 по 25 (включительно)?
&lt;/p&gt;

&lt;p&gt;
Mysql также предоставляет способ справиться с этим: используя OFFSET.
&lt;/p&gt;

&lt;p&gt;
В приведенном ниже SQL-запросе говорится: «Вернуть только 10 записей, начать с записи 16 (OFFSET 15 15)»:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$sql = &amp;quot;SELECT * FROM Orders LIMIT 10 OFFSET 15&amp;quot;;&lt;/pre&gt;

&lt;p&gt;
Вы также можете использовать более короткий синтаксис для достижения того же результата:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$sql = &amp;quot;SELECT * FROM Orders LIMIT 15, 10&amp;quot;;&lt;/pre&gt;

&lt;p&gt;
Обратите внимание, что при использовании запятой цифры меняются местами. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0432\u044b\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 MySQL&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435_\u0432\u044b\u0431\u043e\u0440\u0430_\u0434\u0430\u043d\u043d\u044b\u0445_\u0438\u0437_\u0431\u0430\u0437\u044b_\u0434\u0430\u043d\u043d\u044b\u0445_mysql&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:23,&amp;quot;secid&amp;quot;:19,&amp;quot;range&amp;quot;:&amp;quot;39941-41864&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit20&quot; id=&quot;ссылки_и_примечания&quot;&gt;Ссылки и Примечания&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.w3schools.com/php/php_mysql_intro.asp&quot; class=&quot;urlextern&quot; title=&quot;https://www.w3schools.com/php/php_mysql_intro.asp&quot; rel=&quot;ugc nofollow&quot;&gt;Оригинал статьи База данных PHP MySQL&lt;/a&gt;&lt;br/&gt;

&lt;a href=&quot;https://www.mysql.com/&quot; class=&quot;urlextern&quot; title=&quot;https://www.mysql.com/&quot; rel=&quot;ugc nofollow&quot;&gt;Оригинальный сайт программы 	
MySQL&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u0441\u044b\u043b\u043a\u0438 \u0438 \u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0441\u044b\u043b\u043a\u0438_\u0438_\u043f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u044f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:26,&amp;quot;secid&amp;quot;:20,&amp;quot;range&amp;quot;:&amp;quot;41865-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 25 Feb 2024 18:35:45 +0000</pubDate>
        </item>
        <item>
            <title>mysql_and_php_book</title>
            <link>https://wwoss.direct.quickconnect.to/doku.php?id=software:development:web:docs:learn:mariadb:mysql_and_php_book&amp;rev=1767965014</link>
            <description>
&lt;p&gt;
Введение …………………………………………………………………………… 7
Часть А Основы программирования ………………………………… 23
Глава 1 Переменные, выражения и операторы ………………………………. 35
Глава 2 Управляющие конструкции …………………………………………… 73
Глава 3 Функции ……………………………………………………………….. 109
Глава 4 Классы и объекты ……………………………………………………… 149
Часть Б Динамические веб-страницы ………………………………. 183
Глава 5 Встроенные функции …………………………………………………. 207
Глава 6 Получение данных из браузера ………………………………………. 237
Глава 7 Изображения и файлы ………………………………………………… 291
Глава 8 Дата и время …………………………………………………………… 315
Глава 9 Cookie и сессии ……………………………………………………….. 335
Глава 10 Обработка ошибок ……………………………………………………. 355
Часть В Сайты на основе баз данных ………………………………… 387
Глава 11 Язык структурированных запросов (SQL) …………………………… 403
Глава 12 Получение и вывод информации из базы данных …………………… 439
Глава 13 Изменение информации в базе данных ……………………………… 489
Часть Г Расширение функционала и модернизация
 учебного приложения …………………………………………. 527
Глава 14 Рефакторинг и внедрение зависимостей ……………………………. 539
Глава 15 Пространства имен и библиотеки ……………………………………. 563
Глава 16 Регистрация пользователей ………………………………………….. 609
Глава 17 Добавление нового функционала ……………………………………. 639
Предметный указатель ………………………………………………………. 669
Примечания ………………………………………………………………………. 677
Загрузить код для этой книги можно на странице
&lt;a href=&quot;http://addons.eksmo.ru/it/phpbook.zip&quot; class=&quot;urlextern&quot; title=&quot;http://addons.eksmo.ru/it/phpbook.zip&quot; rel=&quot;ugc nofollow&quot;&gt;http://addons.eksmo.ru/it/phpbook.zip&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/detail.php?id=software%3Adevelopment%3Aweb%3Adocs%3Alearn%3Amariadb%3Amysql_and_php_book&amp;amp;media=software:development:web:docs:learn:mariadb:mariadb_creat_database_1.png&quot; class=&quot;media&quot; title=&quot;software:development:web:docs:learn:mariadb:mariadb_creat_database_1.png&quot;&gt;&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:mariadb_creat_database_1.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:phpbook.zip&quot; class=&quot;media mediafile mf_zip&quot; title=&quot;software:development:web:docs:learn:mariadb:phpbook.zip (16 MB)&quot;&gt;phpbook.zip&lt;/a&gt;
&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:php_i_mysql_2023.pdf&quot; class=&quot;media mediafile mf_pdf&quot; title=&quot;software:development:web:docs:learn:mariadb:php_i_mysql_2023.pdf (21.5 MB)&quot;&gt;php_i_mysql_2023.pdf&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=pdfjs_200em_400px:ns:document.pdf&quot; class=&quot;media mediafile mf_pdf wikilink2&quot; title=&quot;pdfjs_200em_400px:ns:document.pdf&quot;&gt;document.pdf&lt;/a&gt;
&lt;/p&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 09 Jan 2026 13:23:34 +0000</pubDate>
        </item>
        <item>
            <title>mysql_and_php</title>
            <link>https://wwoss.direct.quickconnect.to/doku.php?id=software:development:web:docs:learn:mariadb:mysql_and_php&amp;rev=1767963518</link>
            <description>
&lt;p&gt;
Система управления рестораном на PHP и MySQL
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://coderszine.com/build-restaurant-management-system-with-php-mysql/&quot; class=&quot;urlextern&quot; title=&quot;https://coderszine.com/build-restaurant-management-system-with-php-mysql/&quot; rel=&quot;ugc nofollow&quot;&gt;Ссылка на оригинальную статью&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:web:docs:learn:mariadb:rms-php-mysql.zip&quot; class=&quot;media mediafile mf_zip&quot; title=&quot;software:development:web:docs:learn:mariadb:rms-php-mysql.zip (87.9 KB)&quot;&gt;rms-php-mysql.zip&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 09 Jan 2026 12:58:38 +0000</pubDate>
        </item>
    </channel>
</rss>
