- Вывод данных из MySql на PHP
- Извлечь данные из таблицы MySql
- mysqli_connect
- mysqli_query
- mysqli_fetch_array
- Вывод переменной врутри строки
- mysql_result
- Описание
- Список параметров
- Возвращаемые значения
- Примеры
- Примечания
- Смотрите также
- Обработка результатов запросов
- Выполнение запросов, обработка результатов и получение данных
- Как вывести результат запроса на экран
Вывод данных из MySql на PHP
Первое, что нам следует сделать для того, чтобы получить данные из таблицы базы данных, — установить соединение с БД.
Извлечь данные из таблицы MySql
После того, как мы установили соединение с БД, c помощью запроса можно получить данные из любой таблицы. А с помощью цикла while их вывести.
Теперь давайте разберем функции, которые мы использовали для вывода данных из MySql.
mysqli_connect
mysqli_connect(, , , ) — устанавливает соединение с базой данных.
mysqli_query
mysqli_query(, ) — выполняет запрос к БД, написанный на языке SQL.
mysqli_fetch_array
mysqli_fetch_array() — поочередно возвращает по одной строке из результата запроса.
Вывод переменной врутри строки
Заметьте, что если вы выводите строку оператором echo и строка заключена в двойные кавычки (именно двойные), то внутрь строки можно вставлять переменные в фигурных скобках и они будут подставленны в этот шаблон. Круто, да?
Понравилась или помогла статья? Самое лучшее, что ты можешь сделать — это поделиться ею в любой из своих соцсетей (даже если ты поделишься в твиттере или google+, которыми ты не пользуешься — это очень поможет развитию моего блога). Спасибо! А если ты еще и оставишь любой комментарий снизу в обсуждениях, то это будет двойное СПАСИБО!
Ссылка на статью на всякий случай:
Крутов Герман © 2009-2023
krutovgerman2007@ya.ru
Я ВКонтате
mysql_result
Данный модуль устарел, начиная с версии PHP 5.5.0, и удалён в PHP 7.0.0. Используйте вместо него MySQLi или PDO_MySQL. Смотрите также инструкцию MySQL: выбор API. Альтернативы для данной функции:
Описание
Возвращает содержимое одного поля из набора результата MySQL.
Работая с большими результатами запросов, следует использовать одну из функций, обрабатывающих сразу целый ряд результата (указаны ниже). Так как эти функции возвращают значение нескольких ячеек сразу, они НАМНОГО быстрее mysql_result() . Кроме того, учтите, что указание численного смещения работает намного быстрее, чем указание колонки, или колонки с таблицей через точку.
Список параметров
Обрабатываемый результат запроса. Этот результат может быть получен с помощью функции mysql_query() .
Номер получаемого ряда из результата. Нумерация рядов начинается с 0 .
Имя или смещение получаемого поля.
Может быть как смещением поля, именем поля, так и именем поля вместе с таблицей (таблица.поле). Если для поля был указан псевдоним (‘select foo as bar from. ‘), используйте его вместо имени самого поля. Если не указан, возвращается первое поле.
Возвращаемые значения
Содержимое одного поля из набора результата MySQL в случае успешного выполнения, или false в случае возникновения ошибки.
Примеры
Пример #1 Пример использования mysql_result()
$link = mysql_connect ( ‘localhost’ , ‘mysql_user’ , ‘mysql_password’ );
if (! $link ) die( ‘Ошибка соединения: ‘ . mysql_error ());
>
if (! mysql_select_db ( ‘database_name’ )) die( ‘Ошибка выбора базы данных: ‘ . mysql_error ());
>
$result = mysql_query ( ‘SELECT name FROM work.employee’ );
if (! $result ) die( ‘Ошибка выполнения запроса:’ . mysql_error ());
>
echo mysql_result ( $result , 2 ); // выведет имя третьего сотрудника
?php
Примечания
Замечание:
Вызовы функции mysql_result() не должны смешиваться с другими функциями, работающими с результатом запроса.
Смотрите также
- mysql_fetch_row() — Обрабатывает ряд результата запроса и возвращает массив с числовыми индексами
- mysql_fetch_array() — Обрабатывает ряд результата запроса, возвращая ассоциативный массив, численный массив или оба
- mysql_fetch_assoc() — Возвращает ряд результата запроса в качестве ассоциативного массива
- mysql_fetch_object() — Обрабатывает ряд результата запроса и возвращает объект
Обработка результатов запросов
Выполнение запросов, обработка результатов и получение данных
Описываем нужный SQL-запрос и помещаем его в переменной $sql .
Затем выполняем запрос к базе данных с помощью метода query объекта mysqli.
Если ошибок нет — получим объект mysqli_result , который сохраняется в переменной $result .
Если же в SQL-запросе присутствуют ошибки — метод query вернет FALSE ,
тогда с помощью оператора throw генерируем исключение, которое обрабатываем с помощью Exception .
// устанавливаем соединение с базой данных newDB (создаем экземпляр класса new mysqli())
$conn = new mysqli($servername, $username, $password, $dbname);
// SQL-запрос
$sql = «SELECT * FROM users «;
// запрос к базе данных
$result = $conn->query($sql);
if ($result === FALSE) <
throw new \Exception(‘Ошибка в SQL-запросе!’);
>else <
echo «Выполнено:
«;
>
Получение данных одной строки в виде ассоциативного массива:
Получение данных одной строки в виде индексированного массива:
Получение данных одной строки в виде объекта:
$entries = array();
while ($entry = $result->fetch_object()) <
$entries[] = $entry;
>
Получение всех строк в виде ассоциативного массива:
Если результат не содержит количество результатов выборки — num_rows , выведем: «Нет результатов».
Выражение $result->$num_rows — получает число рядов в результирующей выборке
if (!$result->num_rows) <
echo «Нет результатов:
«;
>
Описываем нужный SQL-запрос и помещаем его в переменной $sql .
Затем выполняем запрос к базе данных с помощью функции mysqli_query($conn, $sql) и помещаем результат в переменную $result
// устанавливаем соединение с базой данных newDB
$conn = mysqli_connect($servername, $username, $password, $dbname);
// SQL-запрос
$sql = «SELECT * FROM users»;
// запрос к базе данных
$result = mysqli_query($conn, $sql);
Эта функция возвращает одну запись выборки в виде индексированного массива:
Эта функция возвращает одну запись выборки в виде ассоциативного массива:
Эта функция в зависимости от параметров может вернуть либо индексированный массив,
либо ассоциативный массив, либо массив, содержащий и индексы и строковые ключи:
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
Получение всего результата .
Эта функция возвращает двухмерный массив, содержащий все записи:
$row = mysqli_fetch_all($result, MYSQLI_ASSOC);
Если запрос к базе данных — выполнен, тогда выведем сообщение «Выполнено».
В противном случае выведем сообщение «Ошибка» и выведем информацию об ошибке mysqli_error($conn) :
if(mysqli_query($conn, $sql)) <
echo «Выполнено»;
>else <
echo «Ошибка:
» . mysqli_error($conn);
>
Выбираем данные из таблицы workers (Стиль ООП).
$servername = «localhost» ;
$username = «root» ;
$password = «» ;
$dbname = «newDB» ;
// Устанавливаем соединение с сервером MySQL:
$conn = new mysqli ( $servername , $username , $password , $dbname );
// Проверка соединения:
if ( $conn -> connect_error ) die ( «Не удалось подключиться: » . $conn -> connect_error );
>
echo «Соединение успешно установлено» ;
//1. Выбрать значения всех полей из таблицы workers:
// $sql = «SELECT * FROM workers «;
//2. Выбрать значения всех полей из таблицы workers, где >
// $sql = «SELECT * FROM workers WHERE >
//3. Выбрать значение поля id из таблицы workers, где значение поля name = ‘Иван’:
// $sql = «SELECT id FROM workers WHERE name = ‘Иван'»;
//4. Выбрать значение поля name из таблицы workers, где id > 5:
// $sql ;
//5. Выбрать значения всех полей из таблицы workers,
// где значение поля name = ‘Сидор’ И значение поля age > 30:
// $sql ;
//6. Иногда нужно указать много значений:
$sql = «SELECT name FROM workers WHERE AND AND >;
// Выполнение запроса
$result = $conn -> query ( $sql );
// Проверка выполнения запросов
if ( $result === FALSE ) throw new \ Exception ( ‘Ошибка в SQL-запросе!’ );
> else <
echo «Выполнено:
» ;
>
// получить все строки в виде ассоциативного массива
$entries = $result -> fetch_all ( MYSQLI_ASSOC );
// num_rows содержит количество результатов выборки
if (! $result -> num_rows ) echo «Нет результатов:
» ;
>
// закрываем соединение
$conn -> close ();
?>
Как вывести результат запроса на экран
Как правильно вывести результат запроса?
Пытаюсь вытащить значения следующим образом: $arr = mysql_query("SELECT c1, c2, c3 FROM table.
Как вывести результат запроса на экран (не через Console)?
Добрый день. Такой незамысловатый вопрос, а как вывести на экран результаты запроса, ну или.
Вывести результат MySQL запроса на экран
<?php mysql_connect(‘_’ , ‘ _’ , ‘_’ ); $d = mysql_query(" SELECT * FROM `PASS` WHERE `PASS`.
Как вывести результат запроса
Подскажите как выводить результат на форме (ну допустив в edit) во время выполнения запроса ? .
while ($row = mysql_fetch_array($result)) { echo $row['SUMMA']."
"; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
html> body> if(isset($_POST['author']) && isset($_POST['name']) && isset($_POST['theme'])&& isset($_POST['publisher'])&& isset($_POST['year']) && isset($_POST['city'])&& isset($_POST['page'])&& isset($_POST['illustrations'])&& isset($_POST['edition'])&& isset($_POST['price'])) { // подключаемся к серверу $link = mysql_connect("localhost", "root"); mysql_select_db("knigi", $link); // экранирования символов для mysql $author=$_POST['author']; $name=$_POST['name']; $theme=$_POST['theme']; $publisher=$_POST['publisher']; $year=$_POST['year']; $city=$_POST['city']; $page=$_POST['page']; $illustrations=$_POST['illustrations']; $edition=$_POST['edition']; $price=$_POST['price']; // создание строки запроса // выполняем запрос $result = mysqli_query("INSERT INTO books VALUES(NULL, '$author','$name', '$theme','$publisher', '$year','$city', '$page','$illustrations', '$edition','$price')",$link); if($result) { echo "Данные добавлены"; } // закрываем подключение mysqli_close($link); } ?> h2>Добавить новую книгуh2> form method="POST"> p>Введите автора:br> input type="text" name="author" />p> p>Название: br> input type="text" name="name" />p> p>Тематика: br> input type="text" name="theme" />p> p>Издательство: br> input type="text" name="publisher" />p> p>Год издания: br> input type="text" name="year" />p> p>Место издания:br> input type="text" name="city" />p> p>Количество страниц: br> input type="text" name="page" />p> p>Иллюстрации: br> input type="text" name="illustrations" />p> p>Тираж: br> input type="text" name="edition" />p> p>Цена: br> input type="text" name="price" />p> input type="submit" value="Добавить"> form> body> html>
Добавлено через 49 секунд
Предупреждение: mysqli_query() ожидает параметр 1, чтобы быть в mysqli, строка дается в Z:\home\localhost\www\11.php на линии 30
Предупреждение: mysqli_close() ожидает параметр 1, чтобы быть в mysqli, ресурсов дается в Z:\home\localhost\www\11.php по строке
Александра 04, у вас смешано mysql i _ и mysql_ поэтому и ошибка, надо использовать только один, лучше конечно mysql i _ т.к. mysql_ устарело
Добавлено через 1 минуту
Александра 04, в вашем случае надо
Сообщение от Александра 04
$result = mysqli_query(«INSERT INTO books VALUES(NULL, ‘$author’,’$name’, ‘$theme’,’$publisher’, ‘$year’,’$city’,
‘$page’,’$illustrations’, ‘$edition’,’$price’)»,$link);
Сообщение от Александра 04