Справочник на статиите
- 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 започва заявката с OFFSET.По подразбиране отместването е 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); ?>
Блог на Hope Chen Weiliang ( https://www.chenweiliang.com/ ) сподели „Как базата данни на MySQL прави запитвания към данните в таблицата?Изявление/команда/синтаксис на заявка“, за да ви помогне.
Добре дошли да споделите връзката към тази статия:https://www.chenweiliang.com/cwl-461.html
Добре дошли в канала на Telegram в блога на Chen Weiliang, за да получите най-новите актуализации!
📚 Това ръководство съдържа огромна стойност, 🌟Това е рядка възможност, не я пропускайте! ⏰⌛💨
Споделете и харесайте, ако ви харесва!
Вашите споделяния и харесвания са нашата постоянна мотивация!