Artikkelkatalog
- 1 MySQL-spørringsdata
- 2 Få data via ledeteksten
- 3 Les databladet:
- 4 Bruk PHP-skript for å få data
- 5 Bruk parameteren mysqli_fetch_array MYSQL_ASSOC for å hente data:
- 6
- 7 Bruk mysqli_fetch_assoc for å hente data:
- 8 Bruk parameteren mysqli_fetch_array MYSQL_NUM for å hente data:
- 9 minneutgivelse
- 10 Frigjør minne med mysqli_free_result:
MySQL-databaseHvordan spørre etter dataene i tabellen?Spørringserklæring/Kommando/Syntaks
MySQL Spør data
MySQL-databaser bruker SQL SELECT-setninger for å søke etter data.
Du kan søke etter data i databasen gjennom mysql> ledetekstvinduet, eller gjennom et PHP-skript.
grammatikk
Følgende er den generelle SELECT-syntaksen for å spørre etter data i en MySQL-database:
SELECT column_name,column_name FROM table_name [WHERE Clause] [OFFSET M ][LIMIT N]
- I spørringssetningen kan du bruke én eller flere tabeller, skille tabellene med komma (,), og bruke WHERE-setningen til å angi spørringsbetingelser.
- SELECT-kommandoen kan lese en eller flere poster.
- Du kan bruke en stjerne (*) for å erstatte andre felt, SELECT-setningen vil returnere alle feltdata i tabellen
- Du kan bruke WHERE-setningen til å inkludere en hvilken som helst betingelse.
- Du kan spesifisere dataforskyvningen der SELECT-setningen starter spørringen med OFFSET.Som standard er forskyvningen 0.
- Du kan bruke LIMIT-egenskapen til å angi antall poster som returneres.
Få data via ledeteksten
I følgende eksempel vil vi bruke SQL SELECT-kommandoen for å hente dataene til MySQL-datatabellen chenweiliang_tbl:
Forekomst
Følgende eksempel vil returnere alle poster i datatabellen chenweiliang_tbl:
Les databladet:
select * from chenweiliang_tbl;
Bruk PHP-skript for å få data
ved hjelp av PHP-funksjoner mysqli_query() og SQL SELECT kommando for å hente dataene.
Denne funksjonen brukes til å utføre SQL-kommandoer og deretter sende PHP-funksjoner mysqli_fetch_array() å bruke eller sende ut data for alle søk.
mysqli_fetch_array() Funksjonen tar en rad fra resultatsettet som en assosiativ matrise, eller en matrise med tall, eller begge deler. Returnerer en matrise generert fra radene hentet fra resultatsettet, eller false hvis det ikke er flere rader.
Følgende eksempel leser alle poster fra datatabellen chenweiliang_tbl.
Forekomst
Prøv følgende eksempel for å vise alle postene i datatabellen chenweiliang_tbl.
Bruk parameteren mysqli_fetch_array MYSQL_ASSOC for å hente 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 eksemplet ovenfor tildeles hver rad med leste poster til variabelen $row, og deretter skrives hver verdi ut.
Merk:Husk at hvis du trenger å bruke en variabel i en streng, sett variabelen i krøllete klammeparenteser.
I eksemplet ovenfor er den andre parameteren til PHP mysqli_fetch_array() funksjonen MYSQL_ASSOC, sett denne parameteren for å spørre resultatet for å returnere en assosiativ matrise, kan du bruke feltnavnet som indeksen til matrisen.
PHP gir en annen funksjon mysqli_fetch_assoc(), tar funksjonen en rad fra resultatsettet som en assosiativ matrise.Returnerer en assosiativ matrise generert fra radene hentet fra resultatsettet, eller falsk hvis det ikke er flere rader.
Forekomst
Prøv følgende eksempel, som bruker mysqli_fetch_assoc() funksjon for å sende ut alle poster i datatabellen chenweiliang_tbl:
Bruk mysqli_fetch_assoc for å hente 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 også bruke konstanten MYSQL_NUM som den andre parameteren i PHP-funksjonen mysqli_fetch_array(), som returnerer en rekke tall.
Forekomst
Følgende eksempler bruker MYSQL_NUM Parameteren viser alle poster i datatabellen chenweiliang_tbl:
Bruk parameteren mysqli_fetch_array MYSQL_NUM for å hente 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); ?>
Utdataresultatene fra de tre eksemplene ovenfor er de samme.
minneutgivelse
Det er en god praksis å frigjøre markørminne etter at vi har utført en SELECT-setning.
Minnet kan frigjøres gjennom PHP-funksjonen mysqli_free_result().
Følgende eksempel viser bruken av denne funksjonen.
Forekomst
Prøv følgende eksempler:
Frigjø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/ ) delt "Hvordan spør MySQL-databasen om dataene i tabellen?Spørringserklæring/kommando/syntaks" for å hjelpe deg.
Velkommen til å dele lenken til denne artikkelen:https://www.chenweiliang.com/cwl-461.html
Velkommen til Telegram-kanalen til Chen Weiliangs blogg for å få de siste oppdateringene!
📚 Denne guiden inneholder enorm verdi, 🌟Dette er en sjelden mulighet, ikke gå glipp av den! ⏰⌛💨
Del og lik om du vil!
Din deling og likes er vår kontinuerlige motivasjon!