Выполнение SQL-запросов в БД MariaDB (MySQL) на PHP

Краткая инструкция по выполнению SQL-запросов с использованием языка PHP в базе данных MariaDB (или MySQL).

За основу берём скрипт подключения PHP к СУБД MariaDB, так как в нём прописано условие, которое при ошибке подключения выводит соответствующее сообщение.

Само по себе успешное подключение предполагает дальнейшую работу с базой данных. Поэтому вместо строчки

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
echo "Подключение к БД прошло успешно…";
echo "Подключение к БД прошло успешно…";
echo "Подключение к БД прошло успешно…";

можно начинать писать скрипт.

Запрос может быть любым. В нашем примере запрос будет выбирать все колонки и строки из таблицы shop_goods:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SELECT * FROM shop_goods;
SELECT * FROM shop_goods;
SELECT * FROM shop_goods;

Для начала необходимо сформировать начальную структуру документа при помощи конструкции echo()

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
echo('<html>
<head>
<meta charset="utf-8">
<title>MySQL or MariaDB query example</title>
</head>
<body>');
echo('<html> <head> <meta charset="utf-8"> <title>MySQL or MariaDB query example</title> </head> <body>');
echo('<html>
<head>
<meta charset="utf-8">
<title>MySQL or MariaDB query example</title>
</head>
<body>');

Определим необходимый нам запрос и объявим для него переменную $query

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$query = mysqli_query($connect, "SELECT * FROM shop_goods");
$query = mysqli_query($connect, "SELECT * FROM shop_goods");
$query = mysqli_query($connect, "SELECT * FROM shop_goods");

Затем циклом while обходим строки таблицы

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
while ($result = mysqli_fetch_array($query)) {
echo "<p>{$result['id']}. {$result['title']} - {$result['category']} - {$result['price']} рублей - {$result['quantity']} штук </p> ";
}
while ($result = mysqli_fetch_array($query)) { echo "<p>{$result['id']}. {$result['title']} - {$result['category']} - {$result['price']} рублей - {$result['quantity']} штук </p> "; }
while ($result = mysqli_fetch_array($query)) {
     echo "<p>{$result['id']}. {$result['title']} - {$result['category']} - {$result['price']} рублей - {$result['quantity']} штук </p> ";
}

Этот цикл позволит вывести результаты запроса.

После этого также с помощью конструкции echo() закрываем теги документа:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
echo('</body>
</html>');
echo('</body> </html>');
echo('</body>
</html>');

чистим результаты запроса

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
mysqli_free_result($query);
mysqli_free_result($query);
mysqli_free_result($query);

и закрываем соединение с базой данных

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
mysqli_close($connect);
mysqli_close($connect);
mysqli_close($connect);

Полностью рабочий скрипт будет выглядеть примерно так:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<?php
$servername = "localhost";
$database = "test_db";
$username = "db_user";
$password = "yourPassword";
$connect = mysqli_connect($servername, $username, $password, $database);
if (!$connect) {
die("Ошибка подключения: " . mysqli_connect_error());
}
echo('<html>
<head>
<meta charset="utf-8">
<title>MySQL or MariaDB query example</title>
</head>
<body>');
$query = mysqli_query($connect, "SELECT * FROM shop_goods");
while ($result = mysqli_fetch_array($query)) {
echo "<p>{$result['id']}. {$result['title']} - {$result['category']} - {$result['price']} рублей - {$result['quantity']} штук </p> ";
}
echo('</body>
</html>');
mysqli_free_result($query);
mysqli_close();
?>
<?php $servername = "localhost"; $database = "test_db"; $username = "db_user"; $password = "yourPassword"; $connect = mysqli_connect($servername, $username, $password, $database); if (!$connect) { die("Ошибка подключения: " . mysqli_connect_error()); } echo('<html> <head> <meta charset="utf-8"> <title>MySQL or MariaDB query example</title> </head> <body>'); $query = mysqli_query($connect, "SELECT * FROM shop_goods"); while ($result = mysqli_fetch_array($query)) { echo "<p>{$result['id']}. {$result['title']} - {$result['category']} - {$result['price']} рублей - {$result['quantity']} штук </p> "; } echo('</body> </html>'); mysqli_free_result($query); mysqli_close(); ?>
<?php

$servername = "localhost";
$database = "test_db";
$username = "db_user";
$password = "yourPassword";

$connect = mysqli_connect($servername, $username, $password, $database);

if (!$connect) {
    die("Ошибка подключения: " . mysqli_connect_error());
}

echo('<html>
<head>
<meta charset="utf-8">
<title>MySQL or MariaDB query example</title>
</head>
<body>');

$query = mysqli_query($connect, "SELECT * FROM shop_goods");

while ($result = mysqli_fetch_array($query)) {
     echo "<p>{$result['id']}. {$result['title']} - {$result['category']} - {$result['price']} рублей - {$result['quantity']} штук </p> ";
}

echo('</body>
</html>');

mysqli_free_result($query);
mysqli_close();

?>

Результат выполнения данного скрипта будет выглядеть так:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
1. Ноутбук ASUS VivoBook A540L - Ноутбуки - 15000.00 рублей - 10 штук
2. МФУ Kyocera Ecosys M2535fdn - МФУ - 22000.00 рублей - 5 штук
3. Сумка для ноутбука 15-дюймов, серая - Сумки и чехлы - 3500.00 рублей - 6 штук
4. Картридж Cactus CS-CE285A - Картриджи - 950.00 рублей - 15 штук
5. SSD диск GIGABYTE 2.5" 256 Гб SATA III NAND TLC (GP-GSTFS31256GTND) - SSD-диски - 3000.00 рублей - 18 штук
6. USB флешка 64Gb Kingston DTX/64Gb USB 3.2 Gen 1 (USB 3.0) - USB-диски, флешки - 750.00 рублей - 35 штук
7. USB флешка 128Gb Kingston DTX/128Gb USB 3.2 Gen 1 (USB 3.0) - USB-диски, флешки - 1300.00 рублей - 25 штук
8. Телевизор Samsung UE50TU8000UX, 4K Ultra HD, черный - Телевизоры - 46800.00 рублей - 3 штук
9. Кронштейн ONKRON M15, для LCD телевизора 32"-75", черный - Кронштейны - 4100.00 рублей - 8 штук
10. Телевизор LG 43LM5700PLA, черный - Телевизоры - 32000.00 рублей - 7 штук
1. Ноутбук ASUS VivoBook A540L - Ноутбуки - 15000.00 рублей - 10 штук 2. МФУ Kyocera Ecosys M2535fdn - МФУ - 22000.00 рублей - 5 штук 3. Сумка для ноутбука 15-дюймов, серая - Сумки и чехлы - 3500.00 рублей - 6 штук 4. Картридж Cactus CS-CE285A - Картриджи - 950.00 рублей - 15 штук 5. SSD диск GIGABYTE 2.5" 256 Гб SATA III NAND TLC (GP-GSTFS31256GTND) - SSD-диски - 3000.00 рублей - 18 штук 6. USB флешка 64Gb Kingston DTX/64Gb USB 3.2 Gen 1 (USB 3.0) - USB-диски, флешки - 750.00 рублей - 35 штук 7. USB флешка 128Gb Kingston DTX/128Gb USB 3.2 Gen 1 (USB 3.0) - USB-диски, флешки - 1300.00 рублей - 25 штук 8. Телевизор Samsung UE50TU8000UX, 4K Ultra HD, черный - Телевизоры - 46800.00 рублей - 3 штук 9. Кронштейн ONKRON M15, для LCD телевизора 32"-75", черный - Кронштейны - 4100.00 рублей - 8 штук 10. Телевизор LG 43LM5700PLA, черный - Телевизоры - 32000.00 рублей - 7 штук
1. Ноутбук ASUS VivoBook A540L - Ноутбуки - 15000.00 рублей - 10 штук

2. МФУ Kyocera Ecosys M2535fdn - МФУ - 22000.00 рублей - 5 штук

3. Сумка для ноутбука 15-дюймов, серая - Сумки и чехлы - 3500.00 рублей - 6 штук

4. Картридж Cactus CS-CE285A - Картриджи - 950.00 рублей - 15 штук

5. SSD диск GIGABYTE 2.5" 256 Гб SATA III NAND TLC (GP-GSTFS31256GTND) - SSD-диски - 3000.00 рублей - 18 штук

6. USB флешка 64Gb Kingston DTX/64Gb USB 3.2 Gen 1 (USB 3.0) - USB-диски, флешки - 750.00 рублей - 35 штук

7. USB флешка 128Gb Kingston DTX/128Gb USB 3.2 Gen 1 (USB 3.0) - USB-диски, флешки - 1300.00 рублей - 25 штук

8. Телевизор Samsung UE50TU8000UX, 4K Ultra HD, черный - Телевизоры - 46800.00 рублей - 3 штук

9. Кронштейн ONKRON M15, для LCD телевизора 32"-75", черный - Кронштейны - 4100.00 рублей - 8 штук

10. Телевизор LG 43LM5700PLA, черный - Телевизоры - 32000.00 рублей - 7 штук

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *