======База данных PHP MySQL====== С помощью PHP вы можете подключаться к базам данных и управлять ими. MySQL — самая популярная система баз данных, используемая с PHP. =====Что такое MySQL?===== * MySQL — это система баз данных, используемая в Интернете. * MySQL — это система баз данных, работающая на сервере * MySQL идеально подходит как для небольших, так и для больших приложений. * MySQL очень быстрый, надежный и простой в использовании. * MySQL использует стандартный SQL * MySQL компилируется на нескольких платформах * MySQL можно бесплатно загрузить и использовать. * MySQL разрабатывается, распространяется и поддерживается корпорацией Oracle. * MySQL названа в честь дочери соучредителя Монти Видениуса: Моя * Данные в базе данных MySQL хранятся в таблицах. Таблица представляет собой набор связанных данных, состоящий из столбцов и строк. * Базы данных полезны для хранения категориальной информации. Компания может иметь базу данных со следующими таблицами: * Сотрудники * Продукты * Клиенты * Заказы =====Система баз данных PHP + MySQL===== * PHP в сочетании с MySQL являются кроссплатформенными (вы можете разрабатывать в Windows и использовать платформу Unix). ====Запросы к базе данных==== Запрос – это вопрос или просьба. Мы можем запросить базу данных для получения конкретной информации и получить набор записей. Посмотрите на следующий запрос (с использованием стандартного SQL): SELECT LastName FROM Employees Приведенный выше запрос выбирает все данные в столбце «Фамилия» из таблицы «Сотрудники». Чтобы узнать больше о SQL, посетите [[https://www.w3schools.com/sql/default.asp|наш учебник по SQL]]. ====Скачать базу данных MySQL==== Если у вас нет PHP-сервера с базой данных MySQL, вы можете скачать его бесплатно здесь: http://www.mysql.com . ====Факты о базе данных MySQL==== MySQL — это де-факто стандартная система баз данных для веб-сайтов с ОГРОМНЫМИ объемами как данных, так и конечных пользователей (например, Facebook, Twitter и Wikipedia). Еще одна замечательная особенность MySQL заключается в том, что ее можно масштабировать для поддержки встроенных приложений баз данных. Посетите http://www.mysql.com/customers/ для обзора компаний, использующих MySQL. =====Подготовка файлов===== Создадим c помощью блокнота на нашем сервере файл index.php Create a MariaDB Database \\ =====Создание новой базы данных===== Оператор **CREATE DATABASE** используется для создания базы данных в MySQL. В следующих примерах создается база данных с именем «my_DB»: В тело нашей страницы между тегами и вставим следующий php код \\ connect_error) { die("Connection failed: " . $conn->connect_error); } // Создадим базу данных my_DB $sql = "CREATE DATABASE my_DB"; if ($conn->query($sql) === TRUE) { echo "База данных успешно создана"; } else { echo "Ошибка создания базы данных: " . $conn->error; } // Закроем соединение $conn->close(); ?> * **Примечание.** При создании новой базы данных необходимо указать только первые три аргумента объекта mysqli (имя сервера, имя пользователя и пароль). * **Совет:** Если вам нужно использовать определенный порт, добавьте пустую строку в качестве аргумента имени базы данных, например: new mysqli("localhost", "username", "password", "", port) \\ Откроем нашу страницу в браузере, где увидим надпись: База данных успешно создана. \\ {{:software:development:web:docs:learn:mariadb:mariadb_creat_database_1.png?700|}} \\ Проверим создание базы данных my_DB в MariaDB с помощью PhpMyAdmin \\ {{:software:development:web:docs:learn:mariadb:mariadb_creat_database_2.png?700|}} \\ =====Создание таблицы===== Оператор CREATE TABLE используется для создания таблицы в MySQL. Мы создадим таблицу с именем «MyGuests» с пятью столбцами: «id», «имя», «фамилия», «электронная почта» и «reg_date»: В тело нашей страницы между тегами и вставим следующий php код connect_error) { die("Connection failed: " . $conn->connect_error); } // Создадим таблицу базы данных $sql = "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 )"; if ($conn->query($sql) === TRUE) { echo "Таблица MyGuests успешно создана"; } else { echo "Ошибка создания таблицы: " . $conn->error; } // Закроем соединение $conn->close(); ?> **Примечания к таблице выше:** Тип данных указывает, какой тип данных может содержать столбец. Полную информацию обо всех доступных типах данных можно найти в нашем справочнике по типам данных . После типа данных вы можете указать другие необязательные атрибуты для каждого столбца: * NOT NULL — каждая строка должна содержать значение для этого столбца, значения NULL не допускаются. * Значение DEFAULT — установите значение по умолчанию, которое добавляется, когда не передается другое значение. * UNSIGNED — используется для числовых типов, ограничивает сохраняемые данные положительными числами и нулем. * АВТОУвеличение — MySQL автоматически увеличивает значение поля на 1 каждый раз, когда добавляется новая запись. * ПЕРВИЧНЫЙ КЛЮЧ — используется для уникальной идентификации строк в таблице. Столбец с настройкой PRIMARY KEY часто представляет собой идентификационный номер и часто используется с AUTO_INCREMENT. Каждая таблица должна иметь столбец первичного ключа (в данном случае столбец «id»). Его значение должно быть уникальным для каждой записи в таблице. В следующих примерах показано, как создать таблицу в PHP: \\ Откроем нашу страницу в браузере, где увидим надпись: Таблица MyGuests успешно создана. \\ {{:software:development:web:docs:learn:mariadb:mariadb_creat_database_3.png?700|}} \\ Проверим создание таблицы MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin \\ {{:software:development:web:docs:learn:mariadb:mariadb_creat_database_4.png?700|}} \\ =====Вставка данных===== После того, как база данных и таблица созданы, мы можем начать добавлять в них данные. Вот несколько правил синтаксиса, которым следует следовать: * SQL-запрос должен быть заключен в кавычки в PHP. * Строковые значения внутри запроса SQL должны быть заключены в кавычки. * Числовые значения не должны заключаться в кавычки * Слово NULL не должно заключаться в кавычки Оператор INSERT INTO используется для добавления новых записей в таблицу MySQL: INSERT INTO table_name (column1, column2, column3,...) VALUES (value1, value2, value3,...) Чтобы узнать больше о SQL, посетите наш учебник по SQL . В предыдущей главе мы создали пустую таблицу с именем «MyGuests» с пятью столбцами: «id», «имя», «фамилия», «электронная почта» и «reg_date». Теперь заполним таблицу данными. Примечание. Если столбец имеет значение AUTO_INCREMENT (например, столбец «id») или TIMESTAMP с обновлением по умолчанию current_timesamp (например, столбец «reg_date»), его нет необходимости указывать в SQL-запросе; MySQL автоматически добавит это значение. В следующих примерах в таблицу «MyGuests» добавляется новая запись. В тело нашей страницы между тегами и вставим следующий php код connect_error) { die("Ошибка соединения: " . $conn->connect_error); } // Добавим новую запись $sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com')"; if ($conn->query($sql) === TRUE) { echo "New record created successfully"; } else { echo "Error: " . $sql . "
" . $conn->error; } // Закроем соединение $conn->close(); ?>
\\ Откроем нашу страницу в браузере, где увидим надпись: Новая запись успешно создана. \\ {{:software:development:web:docs:learn:mariadb:mariadb_creat_database_5.png?700|}} \\ Проверим создание новой записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin \\ {{:software:development:web:docs:learn:mariadb:mariadb_creat_database_6.png?700|}} \\ =====Получаем идентификатор последней записи===== Если мы выполним INSERT или UPDATE для таблицы с полем AUTO_INCREMENT, мы сможем немедленно получить идентификатор последней вставленной/обновленной записи. В таблице «MyGuests» столбец «id» представляет собой поле AUTO_INCREMENT: 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 ) Следующий пример аналогичен придыдущему примеру ( Вставка данных PHP в MySQL ), за исключением того, что мы добавили одну строку кода для получения идентификатора последней вставленной записи. Мы также отображаем последний вставленный идентификатор: В тело нашей страницы между тегами и вставим следующий php код connect_error) { die("Ошибка соединения: " . $conn->connect_error); } // Добавим новую запись $sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com')"; if ($conn->query($sql) === TRUE) { echo "New record created successfully"; } else { echo "Error: " . $sql . "
" . $conn->error; } // Закроем соединение $conn->close(); ?>
\\ Откроем нашу страницу в браузере, где увидим надпись: Новая запись успешно создана. Последний вставленный идентификатор:2 \\ {{:software:development:web:docs:learn:mariadb:mariadb_creat_database_7.png?700|}} \\ Проверим создание новой записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin \\ {{:software:development:web:docs:learn:mariadb:mariadb_creat_database_8.png?700|}} \\ =====Вставка нескольких записей===== С помощью функции необходимо выполнить несколько операторов SQL mysqli_multi_query(). В следующих примерах в таблицу «MyGuests» добавляются три новые записи: В тело нашей страницы между тегами и вставим следующий php код connect_error) { die("Ошибка соединения: " . $conn->connect_error); } // Добавим несколько новую запись $sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com');"; $sql .= "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('Mary', 'Moe', 'mary@example.com');"; $sql .= "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('Julie', 'Dooley', 'julie@example.com')"; if ($conn->multi_query($sql) === TRUE) { echo "New records created successfully"; } else { echo "Error: " . $sql . "
" . $conn->error; } // Закроем соединение $conn->close(); ?>
Обратите внимание, что каждый оператор SQL должен быть разделен точкой с запятой. \\ Откроем нашу страницу в браузере, где увидим надпись: Новые записи успешно созданы \\ {{:software:development:web:docs:learn:mariadb:mariadb_creat_database_9.png?700|}} \\ Проверим создание новой записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin \\ {{:software:development:web:docs:learn:mariadb:mariadb_creat_database_10.png?700|}} \\ =====Подготовленные операторы и связанные параметры===== Подготовленный оператор — это функция, используемая для многократного выполнения одних и тех же (или аналогичных) операторов SQL с высокой эффективностью. Подготовленные операторы в основном работают следующим образом: - Подготовка. Шаблон инструкции SQL создается и отправляется в базу данных. Определенные значения остаются неуказанными и называются параметрами (помечены знаком "?"). Пример: INSERT INTO MyGuests VALUES(?, ?, ?) - База данных анализирует, компилирует и выполняет оптимизацию запросов по шаблону инструкции SQL и сохраняет результат, не выполняя его. - Выполнение: позже приложение привязывает значения к параметрам, и база данных выполняет оператор. Приложение может выполнить оператор столько раз, сколько захочет, с разными значениями. По сравнению с непосредственным выполнением операторов SQL подготовленные операторы имеют три основных преимущества: * Подготовленные операторы сокращают время анализа, поскольку подготовка запроса выполняется только один раз (хотя оператор выполняется несколько раз). * Связанные параметры минимизируют пропускную способность сервера, поскольку вам нужно каждый раз отправлять только параметры, а не весь запрос. * Подготовленные операторы очень полезны против SQL-инъекций, поскольку значения параметров, которые передаются позже с использованием другого протокола, не требуют правильного экранирования. Если исходный шаблон инструкции не получен из внешних входных данных, SQL-инъекция не может произойти. В следующем примере используются подготовленные операторы и связанные параметры в MySQLi: В тело нашей страницы между тегами и вставим следующий php код connect_error) { die("Ошибка соединения: " . $conn->connect_error); } // подготовить и связать $stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)"); $stmt->bind_param("sss", $firstname, $lastname, $email); // задайте параметры и выполните $firstname = "John"; $lastname = "Doe"; $email = "john@example.com"; $stmt->execute(); $firstname = "Mary"; $lastname = "Moe"; $email = "mary@example.com"; $stmt->execute(); $firstname = "Julie"; $lastname = "Dooley"; $email = "julie@example.com"; $stmt->execute(); echo "New records created successfully"; $stmt->close(); // Закроем соединение $conn->close(); ?> Строки кода для пояснения из примера выше: "INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)" В нашем SQL мы вставляем вопросительный знак (?) туда, где хотим заменить целое, строковое, двойное или BLOB-значение. Затем взгляните на функциюbind_param(): $stmt->bind_param("sss", $firstname, $lastname, $email); Эта функция привязывает параметры к SQL-запросу и сообщает базе данных, что это за параметры. Аргумент «sss» перечисляет типы данных, которыми являются параметры. Символ s сообщает MySQL, что параметр является строкой. Аргумент может быть одного из четырех типов: * i - целое число * d - двойной * s - строка * b - БЛОБ У нас должно быть по одному из них для каждого параметра. Сообщая mysql, какой тип данных следует ожидать, мы минимизируем риск SQL-инъекций. **Примечание.** Если мы хотим вставить какие-либо данные из внешних источников (например, пользовательский ввод), очень важно, чтобы данные были очищены и проверены. \\ Откроем нашу страницу в браузере, где увидим надпись: Новые записи успешно созданы \\ {{:software:development:web:docs:learn:mariadb:mariadb_creat_database_11.png?700|}} \\ Проверим создание новой записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin \\ {{:software:development:web:docs:learn:mariadb:mariadb_creat_database_12.png?700|}} \\ =====Выбор данных из базы данных MySQL===== Оператор SELECT используется для выбора данных из одной или нескольких таблиц: SELECT column_name(s) FROM table_name или мы можем использовать символ *, чтобы выбрать ВСЕ столбцы из таблицы: SELECT * FROM table_name В следующем примере выбираются столбцы id, firstname и Lastname из таблицы MyGuests и отображаются на странице: В тело нашей страницы между тегами и вставим следующий php код connect_error) { die("Ошибка соединения: " . $conn->connect_error); } // подготовить и связать $stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)"); $stmt->bind_param("sss", $firstname, $lastname, $email); $sql = "SELECT id, firstname, lastname FROM MyGuests"; $result = $conn->query($sql); if ($result->num_rows > 0) { //выводим данные каждой строки while($row = $result->fetch_assoc()) { echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
"; } } else { echo "0 results"; } ?>
Строки кода для пояснения из примера выше: Сначала мы настраиваем SQL-запрос, который выбирает столбцы идентификатора, имени и фамилии из таблицы MyGuests. Следующая строка кода запускает запрос и помещает полученные данные в переменную с именем $result. Затем функция num_rows() проверяет, возвращено ли больше нулевых строк. Если возвращается более нуля строк, функция fetch_assoc() помещает все результаты в ассоциативный массив, который мы можем просмотреть в цикле. Цикл while() проходит по результирующему набору и выводит данные из столбцов id, firstname и Lastname. \\ Откроем нашу страницу в браузере, где увидим надпись: * id: 1 - Имя: Джон Доу * id: 4 - Имя: Влад Польский * id: 5 - Имя: Джон Доу * id: 6 - Имя: Мэри Мо * id: 7 - Имя: Джули Дули * id: 8 - Имя: Джон Доу * id: 9 - Имя: Мэри Мо * ID: 10 - Имя: Джули Дули \\ {{:software:development:web:docs:learn:mariadb:mariadb_creat_database_13.png?700|}} \\ Проверим создание новой записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin \\ {{:software:development:web:docs:learn:mariadb:mariadb_creat_database_14.png?700|}} \\ =====Выбор и фильтрация данных из базы данных MySQL===== Предложение WHERE используется для фильтрации записей. Предложение WHERE используется для извлечения только тех записей, которые соответствуют указанному условию. SELECT column_name(s) FROM table_name WHERE column_name operator value **Выбирайте и фильтруйте данные с помощью MySQLi** В следующем примере выбираются столбцы id, firstname и Lastname из таблицы MyGuests, где фамилия — «Doe», и отображаются на странице: В тело нашей страницы между тегами и вставим следующий php код connect_error) { die("Ошибка соединения: " . $conn->connect_error); } // подготовить $sql = "SELECT id, firstname, lastname FROM MyGuests WHERE lastname='Doe'"; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data of each row while($row = $result->fetch_assoc()) { echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
"; } } else { echo "0 results"; } ?>
Строки кода для пояснения из примера выше: Сначала мы настраиваем SQL-запрос, который выбирает столбцы идентификатора, имени и фамилии из таблицы MyGuests, где фамилия — «Doe». Следующая строка кода запускает запрос и помещает полученные данные в переменную с именем $result. Затем проверяется, function num_rows()возвращено ли более нуля строк. Если возвращается более нуля строк, функция fetch_assoc()помещает все результаты в ассоциативный массив, который мы можем просмотреть в цикле. Цикл while()проходит по результирующему набору и выводит данные из столбцов id, firstname и Lastname. \\ Откроем нашу страницу в браузере, где увидим надпись: \\ id: 1 - Имя: Джон Доу\\ id: 5 - Имя: Джон Доу\\ id: 8 - Имя: Джон Доу \\ {{:software:development:web:docs:learn:mariadb:mariadb_creat_database_15.png?700|}} \\ Проверим создание новой записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin \\ {{:software:development:web:docs:learn:mariadb:mariadb_creat_database_16.png?700|}} \\ =====Выбор и заказ данных из базы данных MySQL===== Предложение ORDER BY используется для сортировки набора результатов в порядке возрастания или убывания. Предложение ORDER BY по умолчанию сортирует записи в порядке возрастания. Чтобы отсортировать записи в порядке убывания, используйте ключевое слово DESC. SELECT column_name(s) FROM table_name ORDER BY column_name(s) ASC|DESC **Выбор и заказ данных с помощью MySQLi** В следующем примере выбираются столбцы идентификатора, имени и фамилии из таблицы MyGuests. Записи будут упорядочены по столбцу фамилии: В тело нашей страницы между тегами и вставим следующий php код connect_error) { die("Ошибка соединения: " . $conn->connect_error); } // подготовить $sql = "SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname"; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data of each row while($row = $result->fetch_assoc()) { echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
"; } } else { echo "0 results"; } // Закроем соединение $conn->close(); ?>
Строки кода для пояснения из примера выше: Сначала мы настраиваем SQL-запрос, который выбирает столбцы идентификатора, имени и фамилии из таблицы MyGuests. Записи будут упорядочены по столбцу фамилии. Следующая строка кода запускает запрос и помещает полученные данные в переменную с именем $result. Затем проверяется, function num_rows()возвращено ли более нуля строк. Если возвращается более нуля строк, функция fetch_assoc()помещает все результаты в ассоциативный массив, который мы можем просмотреть в цикле. Цикл while()проходит по результирующему набору и выводит данные из столбцов id, firstname и Lastname. \\ Откроем нашу страницу в браузере, где увидим надпись: \\ id: 1 - Name: John Doe\\ id: 5 - Name: John Doe\\ id: 8 - Name: John Doe\\ id: 7 - Name: Julie Dooley\\ id: 10 - Name: Julie Dooley\\ id: 6 - Name: Mary Moe\\ id: 9 - Name: Mary Moe\\ id: 4 - Name: Vlad Polskiy\\ \\ {{:software:development:web:docs:learn:mariadb:mariadb_creat_database_17.png?700|}} \\ Проверим создание новой записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin \\ {{:software:development:web:docs:learn:mariadb:mariadb_creat_database_18.png?700|}} \\ =====Удаление данных из таблицы MySQL с использованием MySQLi ===== Оператор DELETE используется для удаления записей из таблицы: DELETE FROM table_name WHERE some_column = some_value **Обратите внимание на предложение WHERE в синтаксисе DELETE: Предложение WHERE указывает, какую запись или записи следует удалить. Если вы опустите предложение WHERE, все записи будут удалены!** Давайте посмотрим на таблицу «MyGuests»: \\ {{:software:development:web:docs:learn:mariadb:mariadb_creat_database_18.png?700|}} \\ В следующих примерах удаляется запись с идентификатором = 5 в таблице «MyGuests»: В тело нашей страницы между тегами и вставим следующий php код connect_error) { die("Ошибка соединения: " . $conn->connect_error); } // sql to delete a record $sql = "DELETE FROM MyGuests WHERE id=5"; if ($conn->query($sql) === TRUE) { echo "Record deleted successfully"; } else { echo "Error deleting record: " . $conn->error; } // Закроем соединение $conn->close(); ?> \\ Откроем нашу страницу в браузере, где увидим надпись: Запись успешно удалена \\ {{:software:development:web:docs:learn:mariadb:mariadb_creat_database_19.png?700|}} \\ Проверим записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin \\ {{:software:development:web:docs:learn:mariadb:mariadb_creat_database_20.png?700|}} \\ =====Обновление данных в таблице MySQL, используя MySQLi ===== Оператор UPDATE используется для обновления существующих записей в таблице: UPDATE table_name SET column1=value, column2=value2,... WHERE some_column=some_value **Обратите внимание на предложение WHERE в синтаксисе UPDATE: Предложение WHERE указывает, какую запись или записи следует обновить. Если вы опустите предложение WHERE, все записи будут обновлены!** Давайте посмотрим на таблицу «MyGuests»: \\ {{:software:development:web:docs:learn:mariadb:mariadb_creat_database_20.png?700|}} \\ В следующих примерах запись обновляется с id=4 в таблице «MyGuests». В тело нашей страницы между тегами и вставим следующий php код connect_error) { die("Ошибка соединения: " . $conn->connect_error); } $sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2"; if ($conn->query($sql) === TRUE) { echo "Record updated successfully"; } else { echo "Error updating record: " . $conn->error; } // Закроем соединение $conn->close(); ?> \\ Откроем нашу страницу в браузере, где увидим надпись: Запись успешно удалена \\ {{:software:development:web:docs:learn:mariadb:mariadb_creat_database_21.png?700|}} \\ Проверим записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin \\ {{:software:development:web:docs:learn:mariadb:mariadb_creat_database_22.png?700|}} \\ =====Ограничение выбора данных из базы данных MySQL ===== MySQL предоставляет предложение LIMIT, которое используется для указания количества возвращаемых записей. Предложение LIMIT упрощает кодирование многостраничных результатов или разбиение на страницы с помощью SQL и очень полезно для больших таблиц. Возврат большого количества записей может повлиять на производительность. Предположим, мы хотим выбрать все записи от 1 до 30 (включительно) из таблицы «Заказы». Тогда SQL-запрос будет выглядеть так: $sql = "SELECT * FROM Orders LIMIT 30"; При выполнении приведенного выше SQL-запроса он вернет первые 30 записей. Что делать, если мы хотим выбрать записи с 16 по 25 (включительно)? Mysql также предоставляет способ справиться с этим: используя OFFSET. В приведенном ниже SQL-запросе говорится: «Вернуть только 10 записей, начать с записи 16 (OFFSET 15 15)»: $sql = "SELECT * FROM Orders LIMIT 10 OFFSET 15"; Вы также можете использовать более короткий синтаксис для достижения того же результата: $sql = "SELECT * FROM Orders LIMIT 15, 10"; Обратите внимание, что при использовании запятой цифры меняются местами. =====Ссылки и Примечания===== [[https://www.w3schools.com/php/php_mysql_intro.asp|Оригинал статьи База данных PHP MySQL]]\\ [[https://www.mysql.com/|Оригинальный сайт программы MySQL]]