Перейти к содержимому

Как вывести данные из базы данных mysql php

  • автор:

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

Счетчик PR-CY.Rank

Первое, что нам следует сделать для того, чтобы получить данные из таблицы базы данных, — установить соединение с БД.

Извлечь данные из таблицы 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 ""; foreach($result as $row)< echo ""; echo ""; echo ""; echo ""; echo ""; > echo "
IdИмяВозраст
" . $row["id"] . "" . $row["name"] . "" . $row["age"] . "
"; $result->free(); > else< echo "Ошибка: " . $conn->error; > $conn->close(); ?>

Таким образом, при обращении к скрипту index.php браузер отобразит список данных, полученных из БД:

Получение данных из MySQL в PHP с помощью MySQLi

Дополнительно стоит отметить, что с помощью свойства $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 ""; foreach($result as $row)< echo ""; echo ""; echo ""; echo ""; echo ""; > echo "
IdИмяВозраст
" . $row["id"] . "" . $row["name"] . "" . $row["age"] . "
"; mysqli_free_result($result); > else < echo "Ошибка: " . mysqli_error($conn); >mysqli_close($conn); ?>

Вывод данных из mysql в php

Вывод данных из 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 бронзовых знаков

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

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