Каталог статей
- 1 Данные запроса MySQL
- 2 Получить данные через командную строку
- 3 Прочитайте техническое описание:
- 4 Используйте PHP-скрипт для получения данных
- 5 Используйте параметр mysqli_fetch_array MYSQL_ASSOC для выборки данных:
- 6
- 7 Используйте mysqli_fetch_assoc для получения данных:
- 8 Используйте параметр mysqli_fetch_array MYSQL_NUM для выборки данных:
- 9 освобождение памяти
- 10 Свободная память с mysqli_free_result:
База данных MySQLКак запросить данные в таблице?Оператор запроса/команда/синтаксис
MySQL Данные запроса
Базы данных MySQL используют операторы SQL SELECT для запроса данных.
Вы можете запрашивать данные в базе данных через окно командной строки mysql> или через PHP-скрипт.
грамматика
Ниже приведен общий синтаксис SELECT для запроса данных в базе данных MySQL:
SELECT column_name,column_name FROM table_name [WHERE Clause] [OFFSET M ][LIMIT N]
- В операторе запроса вы можете использовать одну или несколько таблиц, разделять таблицы запятыми (,) и использовать оператор WHERE для установки условий запроса.
- Команда SELECT может прочитать одну или несколько записей.
- Вы можете использовать звездочку (*) для замены других полей, оператор SELECT вернет данные всех полей таблицы.
- Вы можете использовать оператор WHERE для включения любого условия.
- Вы можете указать смещение данных, при котором оператор SELECT запускает запрос со смещением.По умолчанию смещение равно 0.
- Вы можете использовать свойство LIMIT, чтобы задать количество возвращаемых записей.
Получить данные через командную строку
В следующем примере мы будем использовать команду SQL SELECT для получения данных таблицы данных MySQL chenweiliang_tbl:
Пример
Следующий пример вернет все записи таблицы данных chenweiliang_tbl:
Прочитайте техническое описание:
select * from chenweiliang_tbl;
Используйте PHP-скрипт для получения данных
использование PHP-функций mysqli_query () И SQL SELECT команда для получения данных.
Эта функция используется для выполнения команд SQL и последующей передачи функций PHP. mysqli_fetch_array () использовать или выводить данные для всех запросов.
mysqli_fetch_array () Функция извлекает строку из набора результатов в виде ассоциативного массива, или массива чисел, или того и другого.Возвращает массив, сгенерированный из строк, выбранных из набора результатов, или false, если строк больше нет.
В следующем примере считываются все записи из таблицы данных chenweiliang_tbl.
Пример
Попробуйте следующий пример, чтобы отобразить все записи таблицы данных chenweiliang_tbl.
Используйте параметр mysqli_fetch_array MYSQL_ASSOC для выборки данных:
<? php $dbhost = 'localhost:3306'; // mysql服务器主机地址 $dbuser = 'root'; // mysql用户名 $dbpass = '123456'; // mysql用户名密码 $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('连接失败: ' . mysqli_error($conn)); } // 设置编码,防止中文乱码 mysqli_query($conn , "set names utf8"); $sql = 'SELECT chenweiliang_id, chenweiliang_title, chenweiliang_author, submission_date FROM chenweiliang_tbl'; mysqli_select_db( $conn, 'chenweiliang' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('无法读取数据: ' . mysqli_error($conn)); } echo '<h2>陈沩亮博客 mysqli_fetch_array 测试<h2>'; echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>'; while($row = mysqli_fetch_array($retval, MYSQL_ASSOC)) { echo "<tr><td> {$row['chenweiliang_id']}</td> ". "<td>{$row['chenweiliang_title']} </td> ". "<td>{$row['chenweiliang_author']} </td> ". "<td>{$row['submission_date']} </td> ". "</tr>"; } echo '</table>'; mysqli_close($conn); ?>
В приведенном выше примере каждая строка прочитанных записей присваивается переменной $row, а затем каждое значение выводится на печать.
Примечание:Помните, что если вам нужно использовать переменную в строке, поместите переменную в фигурные скобки.
В приведенном выше примере вторым параметром функции PHP mysqli_fetch_array() является MYSQL_ASSOC, установите этот параметр, чтобы запросить результат для возврата ассоциативного массива, вы можете использовать имя поля в качестве индекса массива.
PHP предоставляет другую функцию mysqli_fetch_assoc (), функция берет строку из результирующего набора в виде ассоциативного массива.Возвращает ассоциативный массив, сгенерированный из строк, взятых из результирующего набора, или false, если строк больше нет.
Пример
Попробуйте следующий пример, в котором используется mysqli_fetch_assoc () функция для вывода всех записей таблицы данных chenweiliang_tbl:
Используйте mysqli_fetch_assoc для получения данных:
<? php $dbhost = 'localhost:3306'; // mysql服务器主机地址 $dbuser = 'root'; // mysql用户名 $dbpass = '123456'; // mysql用户名密码 $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('连接失败: ' . mysqli_error($conn)); } // 设置编码,防止中文乱码 mysqli_query($conn , "set names utf8"); $sql = 'SELECT chenweiliang_id, chenweiliang_title, chenweiliang_author, submission_date FROM chenweiliang_tbl'; mysqli_select_db( $conn, 'chenweiliang' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('无法读取数据: ' . mysqli_error($conn)); } echo '<h2>陈沩亮博客 mysqli_fetch_assoc 测试<h2>'; echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>'; while($row = mysqli_fetch_assoc($retval)) { echo "<tr><td> {$row['chenweiliang_id']}</td> ". "<td>{$row['chenweiliang_title']} </td> ". "<td>{$row['chenweiliang_author']} </td> ". "<td>{$row['submission_date']} </td> ". "</tr>"; } echo '</table>'; mysqli_close($conn); ?>
Вы также можете использовать константу MYSQL_NUM в качестве второго параметра функции PHP mysqli_fetch_array(), которая возвращает массив чисел.
Пример
В следующих примерах используется MYSQL_NUM Параметр отображает все записи таблицы данных chenweiliang_tbl:
Используйте параметр mysqli_fetch_array MYSQL_NUM для выборки данных:
<? php $dbhost = 'localhost:3306'; // mysql服务器主机地址 $dbuser = 'root'; // mysql用户名 $dbpass = '123456'; // mysql用户名密码 $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('连接失败: ' . mysqli_error($conn)); } // 设置编码,防止中文乱码 mysqli_query($conn , "set names utf8"); $sql = 'SELECT chenweiliang_id, chenweiliang_title, chenweiliang_author, submission_date FROM chenweiliang_tbl'; mysqli_select_db( $conn, 'chenweiliang' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('无法读取数据: ' . mysqli_error($conn)); } echo '<h2>陈沩亮博客 mysqli_fetch_array 测试<h2>'; echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>'; while($row = mysqli_fetch_array($retval, MYSQL_NUM)) { echo "<tr><td> {$row[0]}</td> ". "<td>{$row[1]} </td> ". "<td>{$row[2]} </td> ". "<td>{$row[3]} </td> ". "</tr>"; } echo '</table>'; mysqli_close($conn); ?>
Выходные результаты трех приведенных выше примеров одинаковы.
освобождение памяти
Хорошей практикой является освобождение памяти курсора после выполнения оператора SELECT.
Память можно освободить с помощью PHP-функции mysqli_free_result().
Следующий пример демонстрирует использование этой функции.
Пример
Попробуйте следующие примеры:
Свободная память с mysqli_free_result:
<? php $dbhost = 'localhost:3306'; // mysql服务器主机地址 $dbuser = 'root'; // mysql用户名 $dbpass = '123456'; // mysql用户名密码 $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('连接失败: ' . mysqli_error($conn)); } // 设置编码,防止中文乱码 mysqli_query($conn , "set names utf8"); $sql = 'SELECT chenweiliang_id, chenweiliang_title, chenweiliang_author, submission_date FROM chenweiliang_tbl'; mysqli_select_db( $conn, 'chenweiliang' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('无法读取数据: ' . mysqli_error($conn)); } echo '<h2>陈沩亮博客 mysqli_fetch_array 测试<h2>'; echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>'; while($row = mysqli_fetch_array($retval, MYSQL_NUM)) { echo "<tr><td> {$row[0]}</td> ". "<td>{$row[1]} </td> ". "<td>{$row[2]} </td> ". "<td>{$row[3]} </td> ". "</tr>"; } echo '</table>'; // 释放内存 mysqli_free_result($retval); mysqli_close($conn); ?>
Блог Хоуп Чен Вейлян ( https://www.chenweiliang.com/ ) поделился "Как база данных MySQL запрашивает данные в таблице?Оператор запроса/команда/синтаксис», чтобы помочь вам.
Добро пожаловать, чтобы поделиться ссылкой на эту статью:https://www.chenweiliang.com/cwl-461.html
Добро пожаловать на Telegram-канал блога Chen Weiliang, чтобы быть в курсе последних обновлений!
📚 Это руководство содержит огромную ценность. 🌟Это редкая возможность, не упустите ее! ⏰⌛💨
Делитесь и ставьте лайк, если хотите!
Ваш обмен и лайки - наша постоянная мотивация!