PHP — Получаем данные из бд. Сегодня разберемся с весьма простой темой — получение информации из базы данных. В одной из прошлых статей мы научились подключаться к базе данных с помощью php. Поэтому сегодня продолжим с ней работать.
PHP — Получаем данные из бд
Для начала освежим все-таки память. Прежде, чем обращаться к базе данных необходимо к ней подключиться:
1 2 3 |
/*Пытаемся подключиться или выводим ошибку*/ $link = mysqli_connect($host, $user, $password, $db_name) or die("Ошибка " . mysqli_error($link)); |
Все связанные с подключением данные, можете посмотреть тут.
Теперь давайте запишем команду для выполнения в SQL в переменную:
1 2 |
/*Заносим запрос в переменную*/ $query ="SELECT * from TestCases where id = 1"; |
Далее нам необходимо обратиться к самой базе данных нашей командой. Выполнить запрос можно через команду mysqli_query, которая на вход принимает вышеупомянутый $link (соединение с базой) и $query (наш запрос). Команда будет выглядеть так:
1 |
mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link)); |
Если сейчас сохранить все это в файле, то команда ничего не вернет. Точнее вернет, но результат никуда не сохранится, поэтому давайте запишем эту команду в переменную:
1 |
$result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link)); |
Хорошо. Теперь в переменную $result нам вернулся объект из базы данных, если мы попробуем вызвать его через инструкцию echo $result; , то получим ошибку о том, что объект нельзя конвертировать в строки. Поэтому мы обработаем его принудительно следующей командой:
1 2 |
/*Обрабатываем результат в строки*/ $agrResult = mysqli_fetch_row($result); |
Таким образом наш объект теперь выглядит как строки, но это еще не все. Для того, чтобы со строками было легко работать, давайте конвертируем их в json этой командой:
1 2 |
/*Преобразуем строки в json и не преобразуем юникод*/ $toJsonResult = json_encode($agrResult, JSON_UNESCAPED_UNICODE); |
Теперь у нас есть json, в таком виде:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
["1", "CSS function calc", "Тест по функции calc в CSS.", "Допишите блок кода таким образом, чтобы из общей ширины вычесть 100 пикселей для класса someclass:", ".someclass { padding: 5px; background: #ebebeb; font-size: 14pt; width: color: black; } ", "2", "0", "0", " Ширина должна быть:<\/h3> <\/div>", " Повседневная практика показывает, что консультация с профессионалами из IT напрямую зависит от системы обучения кадров, соответствующей насущным потребностям! Соображения высшего порядка, а также начало повседневной работы по формированию позиции способствует подготовке и реализации системы масштабного изменения ряда параметров! Соображения высшего порядка, а также дальнейшее развитие различных форм деятельности играет важную роль в формировании дальнейших направлений развития проекта!<\/div> "] |
Как видите у нашего json-объекта есть разделитель, но нет индексов столбцов. С этой задачей мы разберемся в следующей статье. Тем не менее даже в таком виде с объектом можно работать.
Спасибо за внимание, помните про нашу группу в контакте и канал на ютубе!