Вывод данных из MySql на PHP

Первое, что нам следует сделать для того, чтобы получить данные из таблицы базы данных, — установить соединение с БД.
Извлечь данные из таблицы MySql
После того, как мы установили соединение с БД, c помощью запроса можно получить данные из любой таблицы. А с помощью цикла while их вывести.
: рублей
"; > ?>
Теперь давайте разберем функции, которые мы использовали для вывода данных из MySql.
mysqli_connect
mysqli_connect(, , , ) — устанавливает соединение с базой данных.
mysqli_query
mysqli_query(, ) — выполняет запрос к БД, написанный на языке SQL.
mysqli_fetch_array
mysqli_fetch_array() — поочередно возвращает по одной строке из результата запроса.
Вывод переменной врутри строки
Заметьте, что если вы выводите строку оператором echo и строка заключена в двойные кавычки (именно двойные), то внутрь строки можно вставлять переменные в фигурных скобках и они будут подставленны в этот шаблон. Круто, да?
Понравилась или помогла статья? Самое лучшее, что ты можешь сделать — это поделиться ею в любой из своих соцсетей (даже если ты поделишься в твиттере или google+, которыми ты не пользуешься — это очень поможет развитию моего блога). Спасибо! А если ты еще и оставишь любой комментарий снизу в обсуждениях, то это будет двойное СПАСИБО!
Как вывести данные из базы данных mysql php
Для получения данных в MySQL применяется команда SELECT . Например, получение всех данных из таблицы Users:
SELECT * FROM Users
Рассмотрим получение данных на примере таблицы Users, созданной в прошлых, которая имеет следующее определение:
CREATE TABLE Users (id INTEGER AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30), age INTEGER)
Объектно-ориентированный стиль
При выполнении команды SELECT метод query() объекта mysqli возвращает набор полученных строк, который мы можем перебрать с помощью цикла. Например, перебор с помощью цикла foreach :
$sql = "SELECT * FROM Users"; if($result = $conn->query($sql)) < foreach($result as $row)< $userid = $row["id"]; $username = $row["name"]; $userage = $row["age"]; >>
Здесь $result представляет набор строк. Каждый его элемент, который передается в переменную $row , хранит данные отдельной строки в виде ассоциативного массива, где ключи элементов — названия столбцов.
Вместо цикла foreach также можно использовать другие виды циклов. Например, применение цикла while :
$sql = "SELECT * FROM Users"; if($result = $conn->query($sql))< while($row = $result->fetch_array()) < $userid = $row["id"]; $username = $row["name"]; $userage = $row["age"]; >>
В данном случае метод $result->fetch_array() выбирает текущую строку из набора в переменную $row и переходит к следующей. Когда строк не останется, метод возвратит false , и произойдет выход из цикда. Полученное значени $row опять же представляет строку в виде ассоциативного массива.
После окончания работы с полученным набором строк мы можем очистить отведенную для него память с помощью метода free() :
$result->free();
Теперь посмотрим на примере. Определим скрипт index.php , которая будет выводить значения из таблицы Users:
METANIT.COM Список пользователей
connect_error)< die("Ошибка: " . $conn->connect_error); > $sql = "SELECT * FROM Users"; if($result = $conn->query($sql))< $rowsCount = $result->num_rows; // количество полученных строк echo "Получено объектов: $rowsCount
"; echo "
| Id | Имя | Возраст |
|---|---|---|
| " . $row["id"] . " | "; echo "" . $row["name"] . " | "; echo "" . $row["age"] . " | "; echo "
Таким образом, при обращении к скрипту index.php браузер отобразит список данных, полученных из БД:

Дополнительно стоит отметить, что с помощью свойства $result->num_rows мы можем получить количество строк, извлеченных из БД.
Процедурный стиль
При процедурном стиле функция mysqli_query() при успешном выполнении команды SELECT возвращает набор строк, который можно перебрать с помощью цикла:
$sql = "SELECT * FROM Users"; if($result = mysqli_query($conn, $sql)) < foreach($result as $row)< $userid = $row["id"]; $username = $row["name"]; $userage = $row["age"]; >>
Как и при объектно-ориентированном подходе, полученные строки представляют ассоциативные массивы, где ключи элементов — названия столбцов.
Пример перебоа с помощью цикла while :
$sql = "SELECT * FROM Users"; if($result = mysqli_query($conn, $sql)) < while($row = mysqli_fetch_array($result))< $userid = $row["id"]; $username = $row["name"]; $userage = $row["age"]; >>
Функция mysqli_fetch_array() выбирает текущую строку из набора в переменную $row и переходит к следующей. Когда строк не останется, метод возвратит false , и произойдет выход из цикла.
После окончания работы с полученным набором строк мы можем очистить отведенную для него память с помощью функции mysqli_free_result() , в которую передается полученный набор строк:
mysqli_free_result($result);
METANIT.COM Список пользователей
$sql = "SELECT * FROM Users"; if($result = mysqli_query($conn, $sql))< $rowsCount = mysqli_num_rows($result); // количество полученных строк echo "Получено объектов: $rowsCount
"; echo "
| Id | Имя | Возраст |
|---|---|---|
| " . $row["id"] . " | "; echo "" . $row["name"] . " | "; echo "" . $row["age"] . " | "; echo "
Вывод данных из mysql в php
![]()
Рассмотрим простой пример подключения и вывода данных из базы mysql в php.
Для начала подключимся к базе данных.
// Параметры для подключения $db_host = "localhost"; $db_user = "user"; $db_password = "password"; // Подключение к базе данных $db = mysql_connect($db_host,$db_user,$db_password) OR DIE("Не могу создать соединение "); // Выборка базы mysql_select_db("mydb",$db);
Установим кодировку, чтобы исключить появление «кракозябр» при выводе данных.
mysql_query("SET NAMES 'utf8'",$db);
Напишем запрос для выборки значений из нужной нам таблицы, возьмём все поля:
$result = mysql_query("SELECT * FROM `articles`",$db);
Теперь нужно вывести наши значения в нужном формате, рассмотрим два способа.
С помощью цикла «while-do»
do< echo "ID - ".$myrow['id']."
"; echo "Заголовок - ".$myrow['title']."
"; echo "Текст - ".$myrow['text']."
"; >while ($myrow = mysql_fetch_array($result));
Мы получаем строки таблиц с помощью функции «mysql_fetch_array», которая выводит одну строку. Она работает, как счётчик, при каждом цикле выводит следующею строку, до тех пор, пока они не кончатся в нашей таблице.
С помощью функции «printf»
do< printf("ID - %s
Заголовок - %s
Текст - %s
",$myrow['id'],$myrow['title'],$myrow['text']); >while ($myrow = mysql_fetch_array($result));
Функция использует метки, в нашем случае это «%s» — в них подставляются значения в последовательности, которую мы задаём, то есть:
printf("ID - %s
Заголовок - %s
Текст - %s
",$myrow['id'],$myrow['title'],$myrow['text']);
То же самое, что и эта запись:
echo "ID - ".$myrow['id']."
Заголовок - ".$myrow['title']."
Текст -".$myrow['text']."
";
Использование второго способо более конструктивное, так как экономит много времени, но многие пользуется первым, так как это самый простой способ вывода информации с помощью цикла.
Как вывести данные из MySQL при помощи PHP?
Есть таблица news , в ней 5 полей id, text, title, author, date . Необходимо вывести на странице эти данные. У меня никак не получается это сделать: все время какие-либо ошибки. Пробовал использовать функцию mysql_fetch_assoc , но что-то, как ее применять, я не очень понял постоянно — одна и та же ошибка expects parameter 1 to be resource, boolean . Я, конечно, понимаю, что это значит, но вот как исправить — нет.
$news = mysql_query("SELECT * FROM `news` "); while ($row = mysql_fetch_assoc($news, MYSQL_ASSOC)) < foreach ($row as $col_value) < print "\t\t$col_value \n"; > >
Отслеживать
1,705 2 2 золотых знака 23 23 серебряных знака 47 47 бронзовых знаков
задан 16 авг 2012 в 11:31
45 1 1 золотой знак 2 2 серебряных знака 6 6 бронзовых знаков
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Вообще-то все очень просто, функций для работы с MySQL из PHP много (смотрите документацию). Вот небольшой пример вывода данных:
$db_host=''; // ваш хост $db_name=''; // ваша бд $db_user=''; // пользователь бд $db_pass=''; // пароль к бд mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);// включаем сообщения об ошибках $mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name); // коннект с сервером бд $mysqli->set_charset("utf8mb4"); // задаем кодировку $result = $mysqli->query('SELECT * FROM `table_name`'); // запрос на выборку while($row = $result->fetch_assoc())// получаем все строки в цикле по одной < echo 'Запись id'].'. Текст: '.$row['text'].'
';// выводим данные >
Отслеживать
20.6k 4 4 золотых знака 27 27 серебряных знаков 50 50 бронзовых знаков