Artikelkatalog
- 1 MySQL-frågedata
- 2 Hämta data via kommandotolken
- 3 Läs databladet:
- 4 Använd PHP-skript för att hämta data
- 5 Använd parametern mysqli_fetch_array MYSQL_ASSOC för att hämta data:
- 6
- 7 Använd mysqli_fetch_assoc för att hämta data:
- 8 Använd parametern mysqli_fetch_array MYSQL_NUM för att hämta data:
- 9 minnessläpp
- 10 Frigör minne med mysqli_free_result:
MySQL-databasHur frågar man efter data i tabellen?Fråga uttalande/Kommando/Syntax
MySQL Fråga data
MySQL-databaser använder SQL SELECT-satser för att fråga data.
Du kan fråga data i databasen genom mysql> kommandotolksfönstret eller genom ett PHP-skript.
grammatik
Följande är den allmänna SELECT-syntaxen för att söka efter data i en MySQL-databas:
SELECT column_name,column_name FROM table_name [WHERE Clause] [OFFSET M ][LIMIT N]
- I frågesatsen kan du använda en eller flera tabeller, separera tabellerna med kommatecken (,) och använda WHERE-satsen för att ställa in frågevillkor.
- Kommandot SELECT kan läsa en eller flera poster.
- Du kan använda en asterisk (*) för att ersätta andra fält, SELECT-satsen returnerar all fältdata i tabellen
- Du kan använda WHERE-satsen för att inkludera alla villkor.
- Du kan ange den dataoffset vid vilken SELECT-satsen startar frågan med OFFSET.Som standard är offset 0.
- Du kan använda egenskapen LIMIT för att ställa in antalet poster som returneras.
Hämta data via kommandotolken
I följande exempel kommer vi att använda kommandot SQL SELECT för att hämta data från MySQL-datatabellen chenweiliang_tbl:
exempel
Följande exempel kommer att returnera alla poster i datatabellen chenweiliang_tbl:
Läs databladet:
select * from chenweiliang_tbl;
Använd PHP-skript för att hämta data
Använder PHP-funktioner mysqli_query() Och SQL SELECT kommando för att hämta data.
Denna funktion används för att köra SQL-kommandon och sedan skicka PHP-funktioner mysqli_fetch_array() att använda eller mata ut data för alla frågor.
mysqli_fetch_array() Funktionen hämtar en rad från resultatuppsättningen som en associativ matris, eller en matris med tal, eller båda. Returnerar en matris genererad från raderna som hämtats från resultatuppsättningen, eller false om det inte finns fler rader.
Följande exempel läser alla poster från datatabellen chenweiliang_tbl.
exempel
Försök med följande exempel för att visa alla poster i datatabellen chenweiliang_tbl.
Använd parametern mysqli_fetch_array MYSQL_ASSOC för att hämta data:
<? 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); ?>
I exemplet ovan tilldelas varje rad med läser poster till variabeln $row, och sedan skrivs varje värde ut.
Anmärkning:Kom ihåg att om du behöver använda en variabel i en sträng, sätt variabeln i hängslen.
I exemplet ovan är den andra parametern i PHP mysqli_fetch_array()-funktionen MYSQL_ASSOC, ställ in den här parametern för att fråga resultatet för att returnera en associativ array, du kan använda fältnamnet som index för arrayen.
PHP tillhandahåller en annan funktion mysqli_fetch_assoc(), tar funktionen en rad från resultatuppsättningen som en associativ array.Returnerar en associativ array genererad från raderna från resultatuppsättningen, eller falsk om det inte finns fler rader.
exempel
Prova följande exempel, som använder mysqli_fetch_assoc() funktion för att mata ut alla poster i datatabellen chenweiliang_tbl:
Använd mysqli_fetch_assoc för att hämta data:
<? 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); ?>
Du kan också använda konstanten MYSQL_NUM som den andra parametern i PHP-funktionen mysqli_fetch_array(), som returnerar en array med tal.
exempel
Följande exempel använder MYSQL_NUM Parametern visar alla poster i datatabellen chenweiliang_tbl:
Använd parametern mysqli_fetch_array MYSQL_NUM för att hämta data:
<? 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); ?>
Resultaten för de tre ovanstående exemplen är desamma.
minnessläpp
Det är en bra praxis att frigöra markörminne efter att vi har kört en SELECT-sats.
Minnet kan frigöras genom PHP-funktionen mysqli_free_result().
Följande exempel visar användningen av denna funktion.
exempel
Prova följande exempel:
Frigör minne med 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 blogg ( https://www.chenweiliang.com/ ) delad "Hur frågar MySQL-databasen data i tabellen?Query Statement/Command/Syntax" för att hjälpa dig.
Välkommen att dela länken till denna artikel:https://www.chenweiliang.com/cwl-461.html
Välkommen till Telegram-kanalen på Chen Weiliangs blogg för att få de senaste uppdateringarna!
📚 Den här guiden innehåller ett enormt värde, 🌟Detta är ett sällsynt tillfälle, missa inte det! ⏰⌛💨
Dela och gilla om du vill!
Dina delning och likes är vår ständiga motivation!