САЙТ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ НА РУССКОМ ЯЗЫКЕ
×

PHP5 Учебник

PHP Главная PHP Введение PHP Установка PHP Синтаксис PHP Переменные PHP Echo/Print PHP Типы данных PHP Строки PHP Константы PHP Операторы PHP Заявления if...else PHP Заявления switch PHP Цикл while PHP Циклы for, foreach PHP Функции PHP Массивы PHP Сортировка массивов PHP Суперглобальные массивы

PHP Формы

PHP Обработка форм PHP Проверка форм PHP Поля форм PHP Проверка почты PHP Полная форма

PHP Продвинутый

PHP Мульти массивы PHP Дата и время PHP Подключение PHP Обработка файлов PHP Открыть файл PHP Создать файл PHP Загрузить файл PHP Файлы cookie PHP Проведение сессий PHP Фильтры PHP Расширенные фильтры PHP Обработка ошибок PHP Обработка исключений

MySQL

MySQL База данных MySQL Установить MySQL Создать БД MySQL Создать таблицу MySQL Вставить данные MySQL Получить ID MySQL Вставить записи MySQL Подготовленные MySQL Выбрать данные MySQL Удалить данные MySQL Обновить данные MySQL Лимит данных

PHP - XML

PHP XML Парсер PHP XML Анализатор PHP XML Вывод PHP XML Экспат PHP XML DOM

PHP - AJAX

AJAX Введение AJAX PHP AJAX База данных AJAX XML AJAX Живой Поиск AJAX RSS Считывание AJAX Опрос

PHP Примеры

PHP Примеры

PHP5 MySQL Выбрать данные



MySQL Выбрать данные из базы данных

Заявление SELECT используется для выбора данных из одной или нескольких таблиц:

SELECT column_name(s)FROM table_name

или мы можем использовать символ * для выбора всех столбцов из таблицы:

SELECT *FROM table_name

Чтобы узнать больше о SQL, пожалуйста, посетите наш Учебник SQL.


MySQL Выбрать данные

В следующем примере из таблицы "Мои Гости" выбираем столбцы "Индентификатора", "Имя" и "Фамилию", для отображения на странице:

Пример MySQLi - объектно-ориентированный

<?php
// Подключение к MySQL
$servername = "localhost"; // локалхост
$username = "root"; // имя пользователя
$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) {
   // Выводим данные каждой строки
   while($row = $result->fetch_assoc()) {
       echo "id:" . $row["id"]. " Имя: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
    }
} else {
   echo "0 результат";
}

// Закрыть подключение
$conn->close();
?>
Смотреть код »

Объяснение примера:

Во-первых, мы создали SQL запрос, который выбирает ID, firstname и lastname из MyGuests столбика. Следующая строка кода запускает запрос и помещает полученные данные в переменную $result.

Затем функция num_rows() проверяет наличие более чем ноля строк и возвращает их.

Если, возвращено более чем ноля строк, функция fetch_assoc() помещает все результаты в ассоциативный массив, через который мы можем проследить. В цикл while() проходит через результирующий набор и выводит данные от ID, firstname и lastname.

В следующем примере показано то же самое, что и в примере выше, процессуальный способом mysqli:

Пример MySQLi - процессуальный

<?php
// Подключение к MySQL
$servername = "localhost"; // локалхост
$username = "root"; // имя пользователя
$password = ""; // пароль если существует
$dbname = "myDB"; // база данных

// Создание соединения
$conn = mysqli_connect($servername, $username, $password, $dbname);

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

// Выбрать данные
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$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

Пример MySQLi - объектно-ориентированный

<?php
// Подключение к MySQL
$servername = "localhost"; // локалхост
$username = "root"; // имя пользователя
$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 Выбрать данные (+ подготовленные инструкции)

В следующем примере используются подготовленные операторы.

Он выбирает идентификатор, "Имя" и "Фамилию" из таблицы "Мои Гости" и отображает его в таблице HTML:

Пример PDO

<?php
echo "<table style='border: solid 1px black;'>";
echo "<tr><th>id</th><th>Имя</th><th>Фамилия</th></tr>";

class TableRows extends RecursiveIteratorIterator {
   function __construct($it) {
        parent::__construct($it, self::LEAVES_ONLY);
   }

   function current() {
       return "<td style='width:150px;border:1px solid black;'>" . parent::current(). "</td>";
   }

   function beginChildren() {
       echo "<tr>";
   }

   function endChildren() {
        echo "</tr>" . "\n";
   }
}

// Подключение к MySQL
$servername = "localhost"; // локалхост
$username = "root"; // имя пользователя
$password = ""; // пароль если существует
$dbname = "myDBPDO"; // база данных

// Создание соединения и исключения
try {
   $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
   // Установить режим ошибки PDO в исключение
   $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
   // Выбрать данные
   $stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests");
   $stmt->execute();

   // Установить результирующий массив в ассоциативный
   $result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
   foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) {
       echo $v;
   }
}
catch(PDOException $e) {
   echo "Ошибка: " . $e->getMessage();
}

// Закрыть подключение
$conn = null;
echo "</table>";
?>
Смотреть код »