- Работа с MySQL в PHP
- Что такое mysqli?
- Как выглядит работа с базой данных
- Функция mysqli connect: соединение с MySQL
- Проверка соединения
- Установка кодировки
- Выполнение запросов
- Два вида запросов
- Добавление записи
- Функция insert id: как получить идентификатор добавленной записи
- Чтение записей
- Как получить сразу все записи в виде двумерного массива
- Как узнать количество записей
- PHP With MySQL: Ultimate Step-By-Step Guide
- Basics to Advanced — Learn It All!
- Prerequisites for PHP With MySQL
- Software Requirements for the Tutorial
- How to Create a Database?
- Basics to Advanced — Learn It All!
- How to Create a Registration Page?
- Registration Form
- How to Connect Webpage to the Database Using PHP?
- Learn From The Best Mentors in the Industry!
- How to Edit and Delete Data From the Database?
- Conclusion
- Find our Full Stack Java Developer Online Bootcamp in top cities:
- About the Author
Работа с MySQL в PHP
PHP поддерживает работу с базой данных MySQL. Специальные встроенные функции для работы с MySQL позволяют просто и эффективно работать с этой СУБД: выполнять любые запросы, читать и записывать данные, обрабатывать ошибки.
Сценарий, который подключается к БД, выполняет запрос и показывает результат, будет состоять всего из нескольких строк. Для работы с MySQL не надо ничего дополнительно устанавливать и настраивать; всё необходимое уже доступно вместе со стандартной поставкой PHP.
Что такое mysqli?
mysqli (MySQL Improved) — это расширение PHP, которое добавляет в язык полную поддержку баз данных MySQL. Это расширение поддерживает множество возможностей современных версий MySQL.
Как выглядит работа с базой данных
Типичный процесс работы с СУБД в PHP-сценарии состоит из нескольких шагов:
- Установить подключение к серверу СУБД, передав необходимые параметры: адрес, логин, пароль.
- Убедиться, что подключение прошло успешно: сервер СУБД доступен, логин и пароль верные и так далее.
- Сформировать правильный SQL запрос (например, на чтение данных из таблицы).
- Убедиться, что запрос был выполнен успешно.
- Получить результат от СУБД в виде массива из записей.
- Использовать полученные записи в своём сценарии (например, показать их в виде таблицы).
Функция mysqli connect: соединение с MySQL
Перед началом работы с данными внутри MySQL, нужно открыть соединение с сервером СУБД. В PHP это делается с помощью стандартной функции mysqli_connect() . Функция возвращает результат — ресурс соединения. Данный ресурс используется для всех следующих операций с MySQL.
Но чтобы выполнить соединение с сервером, необходимо знать как минимум три параметра:
Если вы следовали стандартной процедуре установки MySQL или используете OpenServer, то адресом сервера будет localhost , логином — root . При использовании OpenServer пароль для подключения — это пустая строка ‘’ , а при самостоятельной установке MySQL пароль вы задавали в одном из шагов мастера установки.
Базовый синтаксис функции mysqli_connect() :
Проверка соединения
Первое, что нужно сделать после соединения с СУБД — это выполнить проверку, что оно было успешным. Эта проверка нужна, чтобы исключить ошибку при подключении к БД. Неверные параметры подключения, неправильная настройка или высокая нагрузка заставит MySQL отвергать новые подключения. Все эти ситуации приведут к невозможности соединения, поэтому программист должен проверить успешность подключения к серверу, прежде чем выполнять следующие действия.
Соединение с MySQL устанавливается один раз в сценарии, а затем используется при всех запросах к БД.
Результатом выполнения функции mysqli_connect() будет значение специального типа — ресурс. Если подключение к MySQL не удалось, то функция mysqli_connect() вместо ресурса вернёт логическое значение типа «ложь» — false . Хорошей практикой будет всегда проверять результат выполнения этой функции и сравнивать его с ложью.
Соединение с MySQL и проверка на ошибки:
Функция mysqli_connect_error() просто возвращает текстовое описание последней ошибки MySQL.
Установка кодировки
Первым делом после установки соединения крайне желательно явно задать кодировку, которая будет использоваться при обмене данными с MySQL. Если этого не сделать, то вместо записей со значениями, написанными кириллицей, можно получить последовательность из знаков вопроса: . . Вызовите эту функцию сразу после успешной установки соединения: mysqli_set_charset($con, «utf8»);
Выполнение запросов
Установив соединение и определив кодировку мы готовы выполнить свои первые SQL-запросы. Вы уже умеете составлять корректные SQL команды и выполнять их через консольный или визуальный интерфейс MySQL-клиента. Те же самые запросы можно отправлять без изменений и из PHP-сценария. Помогут в этом несколько встроенных функций языка.
Два вида запросов
Следует разделять все SQL-запросы на две группы:
При выполнении запросов из среды PHP, запросы из второй группы возвращают только результат их исполнения: успех или ошибку.
Запросы первой группы при успешном выполнении возвращают специальный ресурс результата. Его, в свою очередь, можно преобразовать в ассоциативный массив (если нужна одна запись) или в двумерный массив (если требуется список записей).
Добавление записи
Вернёмся к нашему проекту — дневнику наблюдений за погодой. Начнём практическую работу с заполнения таблиц данными. Для начала добавим хотя бы один город в таблицу cities .
Выражение INSERT INTO используется для добавления новых записей в таблицу базы данных.
Составим корректный SQL-запрос на вставку записи с именем города, а затем выполним его путём передачи этого запроса в функцию mysqli_query() , чтобы добавить новые данные в таблицу.
Обратите внимание, что первым параметром для функции mysqli_query() передаётся ресурс подключения, полученный от функции mysqli_connect() , вторым параметром следует строка с SQL-запросом.
При запросах на изменение данных (не SELECT) результатом выполнения будет логическое значение — true или false , которое будет означать, что запрос выполнить не удалось. Для получения строки с описанием ошибки существует функция mysqli_error($link) .
Функция insert id: как получить идентификатор добавленной записи
Следующим шагом будет добавление погодной записи для нового города. Погодные записи хранит таблица weather_log, но, чтобы сослаться на город, необходимо знать идентификатор записи из таблицы cities.
Здесь пригодится функция mysqli_insert_id() . Она принимает единственный аргумент — ресурс соединения, а возвращает идентификатор последней добавленной записи.
Теперь у нас есть всё необходимое, чтобы добавить погодную запись. Вот как будет выглядеть комплексный пример с подключением к MySQL и добавлением двух новых записей:
Чтение записей
Другая частая операция при работе с базами данных в PHP — это получение записей из таблиц (запросы типа SELECT). Составим SQL-запрос, который будет использовать SELECT выражение. Затем выполним этот запрос с помощью функции mysqli_query() , чтобы получить данные из таблицы.
В этом примере показано, как вывести все существующие города из таблицы cities :
В примере выше результат выполнения функции mysqli_query() сохранён в переменной $result . В этой переменной находятся не данные из таблицы, а специальный тип данных — так называемая ссылка на результаты запроса.
Чтобы получить действительные данные, то есть записи из таблицы, следует использовать другую функцию — mysqli_fetch_array() — и передать ей единственным параметром эту самую ссылку. Теперь каждый вызов функции mysqli_fetch_array() будет возвращать следующую запись из всего результирующего набора записей в виде ассоциативного массива.
Цикл while здесь используется для «прохода» по всем записям из полученного набора записей. Значение поля каждой записи можно узнать просто обратившись по ключу этого ассоциативного массива.
Как получить сразу все записи в виде двумерного массива
Иногда бывает удобно после запроса на чтение не вызывать в цикле mysqli_fetch_array для извлечения очередной записи по порядку, а получить их сразу все одним вызовом. PHP так тоже умеет.
Функция mysqli_fetch_all($res, MYSQLI_ASSOC) вернёт двумерный массив со всеми записями из результата последнего запроса. Перепишем пример с показом существующих городов с её использованием:
Как узнать количество записей
Часто бывает необходимо узнать, сколько всего записей вернёт выполненный SQL-запрос. Это может помочь при организации постраничной навигации или просто в качестве информации. Узнать число записей поможет функция mysqli_num_rows() , которой следует передать ссылку на результат запроса.
«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.
PHP With MySQL: Ultimate Step-By-Step Guide
PHP is a language that gives you the flexibility to connect and work with different databases while developing your webpage. There are different databases, both commercial and free to use. Amongst them, MySQL is the most commonly used database alongside PHP.
MySQL is an open-source, free-to-use relational database management system (RDBMS). It is a fast, simple, and highly scalable program and hence can be used for small as well as huge businesses.
Basics to Advanced — Learn It All!
Prerequisites for PHP With MySQL
This PHP with MySQL tutorial will mainly focus on linking and managing a database with your webpage. Hence, the following prerequisites should be met before beginning the tutorial:
Software Requirements for the Tutorial
To set up the PHP development environment, you mainly need two software, a code editor and a web server package.
Now that you know the prerequisites for this tutorial as well and the software requirements, it’s time to move on to creating a database.
How to Create a Database?
A database is defined as an organized collection of data that makes the data easy to access, manage and modify. Generally, databases use SQL (Structured Query Language) for data manipulation.
1. Open XAMPP Control Panel and start the Apache server and MySQL service.
2. Now, go to your browser and type localhost in the address bar, and then on the XAMPP dashboard, click on the phpmyadmin tab.
3. Into the phpmyadmin section, click on new to create a new database. Here, name your database “tutorial”.
4. Now, create a table named “users” and create 6 columns as shown below, which you will use on the registration page.
Keep the “id” column as Auto Incremented by clicking the check box next to ‘AI’ since it will be the primary key.
Basics to Advanced — Learn It All!
How to Create a Registration Page?
To create a registration, first, create a folder named “demo” inside htdocs and then open it inside the code editor i.e, Visual Studio Code.
Now, create a file named “register.php” and write the following code.
$sql = «INSERT INTO `users`(`firstname`, `lastname`, `email`, `password`, `gender`)
echo «New record created successfully.»;
echo «Error:». $sql . «
«. $conn->error;
Registration Form
That’s it. Now you just need to connect this webpage with the database.
How to Connect Webpage to the Database Using PHP?
To connect the webpage to the database, create another file in the code editor named “config.php” and write the following code.
$conn = new mysqli($servername, $username, $password, $dbname);
die(«Connection Failed» . $conn->connect_error);
Now that you have the registration page ready and connected to the database, open the browser for the output.
- Open the browser and type “localhost/demo/register.php”. Fill in the required fields and click on “submit”.
As you can see, the records are visible in the table “users”.
Now you know how to create a database and link it to a webpage. You will now see how to edit or delete the fields from the phpmyadmin control panel.
Learn From The Best Mentors in the Industry!
How to Edit and Delete Data From the Database?
Once data has been entered into the database, you can open the phpmyadmin panel from the XAMPP dashboard and locate to the table “users” where every information entered into the table is visible.
Here, with every data, there exists an edit and delete option which can be used to update or delete any desired data from the table.
Conclusion
This brings us to the end of the “PHP with MySQL” tutorial. In this, you have learned how to create a database using XAMPP and MySQL and also create a registration page with the help of PHP. In the later sections, you learned how to connect the webpage to the database and then finally how to edit and delete the entries in the table using the phpmyadmin panel.
You can refer here for a video tutorial on the same. If you wish to learn more about PHP and Web Development check out the PostGraduate Program in Web Development offered by Simplilearn in collaboration with Caltech where you’ll learn modern coding techniques with boot camp-level intensity and gain all you need to be a full-stack technologist.
If you have any queries regarding the PHP with MySQL tutorial, do mention them in the comment section of this tutorial, and we’ll have our experts answer them for you.
Find our Full Stack Java Developer Online Bootcamp in top cities:
Name | Date | Place | |
---|---|---|---|
Full Stack Java Developer | Cohort starts on 4th Aug 2023, Weekend batch | Your City | View Details |
Full Stack Java Developer | Cohort starts on 25th Aug 2023, Weekend batch | Your City | View Details |
About the Author
Kartik Menon
Kartik is an experienced content strategist and an accomplished technology marketing specialist passionate about designing engaging user experiences with integrated marketing and communication solutions.