Ссылки Поиск Написать В избранное NO

Осваиваю базы данных MySQL. Вывод на страницу сайта

Ну, прошло лет 17 или 18 с тех самых пор, как я начал заниматься сайтами и что-то там писать на HTML. И вот свершилось чудо чудное. Произошло это, так как работаю над блогом сайта englishask.ru.


(15.01.2024 work) Осваиваю базы данных - MySQL

Базы данных по мнению нейросети. А не эти ваши там текстовые файлы.


Как оказалось, чтение из базы вообще мало отличается от чтения из текстового файлика вроде обычного txt. Зашел на хостинге в управление базами, зашел в phpMyAdmin, создал базу, создал таблицу, создал столбцы... все довольно просто и логично.


Тут, правда, вышла небольшая накладка. Я не сразу понял, что первый столбец мне нужен с ID. Так как по нему проще всего выводить отдельные записи. Плюс, пришлось гуглить типы данных. Например, что INT - это целые числа. Но TEXT и DATE проблем не возникло. Логично, что это текст и дата.


Еще одна фишка phpMyAdmin. Записи в базу легко вставить по кнопке... [Вставить], ага. Но вот редактировать записи в таблице базы (при обзоре) он дает только после присвоения индексов. Я над этим пол ночи страдал. А потом просто поставил первичный индекс на столбец ID и все наладилось.


В сети загуглил самый простой запрос к MySQL базе:

/* Если 1 запись */

$id = 1; // Номер записи


/* Соединение с базой. Хост, имя пользователя, пароль, имя базы данных */

$link = mysqli_connect("localhost", "blog", "11111111111", "blog");


/* проверка соединения */

if ($link == false){

header("HTTP/1.0 500 Internal Server Error"); // Если выше не было вывода текста. Иначе будет ошибка.

echo("Ошибка: Невозможно подключиться к MySQL"); // Можно добавить ошибку: . mysqli_connect_error()

exit();

}

/* изменение набора символов на utf8 */

if (!mysqli_set_charset($link, "utf8")) {

printf("Ошибка при загрузке набора символов utf8: %s\n", mysqli_error($link));

exit();

}


// Сам запрос. Тут выбираем все строки (*) из таблицы БЛОГ, где id = $id (в самом начале сделал его 1)

$sql = 'SELECT * FROM blog WHERE id ='.$id;

$result = mysqli_query($link, $sql); // Запрос ушел

$row = mysqli_fetch_array($result); // Результат массивом


/* Дальше просто выводим данные где надо. Тут id, name и text - имена столбцов, которые мы создавали в таблице базы. */

echo $row['id'];

echo $row['name'];

echo $row['text'];


mysqli_close($link); // Закрываем соединение


Если записей много, то меняем строку запроса а нужную нам. Например: $sql = 'SELECT * FROM blog'; А вывод меняется на цикл.

while ($row = mysqli_fetch_array($result)) {

echo $row['id'];

echo $row['name'];

echo $row['text'];

}


Такие вот первые эксперименты с базами данных. Над записью я еще работаю. Но принцип там примерно такой же. Надо только не забывать о безопасности и экранировании всех лишних символов. Но про это, думаю, напишу в следующий раз.