Выбор данных из базы данных MySQL
Команда SQL SELECT используется для выбора данных из таблицы.
Чтобы выбрать определенные столбцы из таблицы, используйте следующий синтаксис:
SELECT column1, column2, column3
FROM table_name
Чтобы выбрать ВСЕ столбцы из таблицы, используйте символ *:
SELECT *
FROM table_name
Чтобы узнать больше о SQL, посетите наш учебник по SQL.
Выбор данных с помощью MySQLi
В следующем примере выбираются столбцы id, firstname и lastname из таблицы MyGuests и отображаются на странице:
Пример - MySQLi объектно-ориентированный
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Создаем подключение
$conn = new mysqli($servername, $username, $password, $dbname);
// Проверяем подключение
if ($conn->connect_error) {
die("Подключение не удалось: " . $conn->connect_error);
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
// Выполняем SQL-запрос
$result = $conn->query($sql);
// Обрабатываем набор результатов
if ($result->num_rows > 0) {
// Выводим данные каждой строки
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Имя: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 результатов";
}
$conn->close();
?>
Пояснение к коду
Сначала мы создаем SQL-запрос, который выбирает столбцы id, firstname и lastname из таблицы MyGuests.
Следующая строка кода $conn->query($sql) выполняет запрос и помещает полученные данные в переменную $result.
Затем строка $result->num_rows > 0 проверяет, возвращено ли более 0 строк.
Если возвращено более 0 строк, функция fetch_assoc() помещает набор результатов в ассоциативный массив, который мы можем перебирать. Цикл while() перебирает набор результатов и выводит данные из столбцов id, firstname и lastname.
Следующий пример показывает то же самое, что и пример выше, но в процедурном стиле MySQLi:
Пример - MySQLi процедурный
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Создаем подключение
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Проверяем подключение
if (!$conn) {
die("Подключение не удалось: " . mysqli_connect_error());
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
// Выполняем SQL-запрос
$result = mysqli_query($conn, $sql);
//
Обрабатываем набор результатов
if (mysqli_num_rows($result) > 0) {
// Выводим данные каждой строки
while($row = mysqli_fetch_assoc($result)) {
echo "id: " . $row["id"]. " - Имя: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 результатов";
}
mysqli_close($conn);
?>
Помещение результата в HTML таблицу
Здесь мы помещаем результат в HTML таблицу:
Пример - MySQLi объектно-ориентированный
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Создаем подключение
$conn = new mysqli($servername, $username, $password, $dbname);
// Проверяем подключение
if ($conn->connect_error) {
die("Подключение не удалось: " . $conn->connect_error);
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<table><tr><th>ID</th><th>Имя</th></tr>";
// выводим данные каждой строки
while($row = $result->fetch_assoc()) {
echo "<tr><td>".$row["id"]."</td><td>".$row["firstname"]." ".$row["lastname"]."</td></tr>";
}
echo "</table>";
} else {
echo "0 результатов";
}
$conn->close();
?>
Выбор данных с помощью PDO
В следующем примере выбираются столбцы id, firstname и lastname из таблицы MyGuests и отображаются в HTML таблице:
Пример - PDO
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// устанавливаем режим ошибок PDO в исключение
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
die("Не удалось подключиться. " .
$e->getMessage());
}
try {
$sql = "SELECT id,
firstname, lastname FROM MyGuests";
// Выполняем SQL-запрос
$result = $conn->query($sql);
//
Обрабатываем набор результатов
if ($result->rowCount() > 0) {
echo
"<table><tr><th>ID</th><th>Имя</th><th>Фамилия</th></tr>";
// Выводим данные каждой строки
while($row = $result->fetch()) {
echo
"<tr>";
echo "<td>" . $row['id'] . "</td>";
echo "<td>" . $row['firstname'] . "</td>";
echo "<td>" . $row['lastname'] . "</td>";
echo "</tr>";
}
echo "</table>";
unset($result);
} else {
echo "Записи не найдены.";
}
} catch(PDOException $e) {
echo "Ошибка: " . $e->getMessage();
}
$conn = null;
?>