Director articol
- 1 Date de interogare MySQL
- 2 Obțineți date prin promptul de comandă
- 3 Citiți fișa tehnică:
- 4 Utilizați scriptul PHP pentru a obține date
- 5 Utilizați parametrul mysqli_fetch_array MYSQL_ASSOC pentru a prelua date:
- 6
- 7 Utilizați mysqli_fetch_assoc pentru a prelua date:
- 8 Utilizați parametrul mysqli_fetch_array MYSQL_NUM pentru a prelua date:
- 9 eliberarea memoriei
- 10 Memorie liberă cu mysqli_free_result:
Baza de date MySQLCum se interoghează datele din tabel?Interogare/Comandă/Sintaxă
MySQL Interogați datele
Bazele de date MySQL folosesc instrucțiuni SQL SELECT pentru a interoga datele.
Puteți interoga datele din baza de date prin intermediul ferestrei mysql> prompt de comandă sau printr-un script PHP.
gramatică
Următoarea este sintaxa generală SELECT pentru interogarea datelor într-o bază de date MySQL:
SELECT column_name,column_name FROM table_name [WHERE Clause] [OFFSET M ][LIMIT N]
- În instrucțiunea de interogare, puteți utiliza unul sau mai multe tabele, puteți separa tabelele cu virgule (,) și puteți utiliza instrucțiunea WHERE pentru a seta condițiile de interogare.
- Comanda SELECT poate citi una sau mai multe înregistrări.
- Puteți folosi un asterisc (*) pentru a înlocui alte câmpuri, instrucțiunea SELECT va returna toate datele câmpului din tabel
- Puteți utiliza instrucțiunea WHERE pentru a include orice condiție.
- Puteți specifica offset-ul de date la care instrucțiunea SELECT începe interogarea cu OFFSET.În mod implicit, offset-ul este 0.
- Puteți utiliza proprietatea LIMIT pentru a seta numărul de înregistrări returnate.
Obțineți date prin promptul de comandă
În următorul exemplu, vom folosi comanda SQL SELECT pentru a obține datele din tabelul de date MySQL chenweiliang_tbl:
Instanță
Următorul exemplu va returna toate înregistrările din tabelul de date chenweiliang_tbl:
Citiți fișa tehnică:
select * from chenweiliang_tbl;
Utilizați scriptul PHP pentru a obține date
folosind funcții PHP mysqli_query() și SQL SELECT comanda pentru a obține datele.
Această funcție este folosită pentru a executa comenzi SQL și apoi pentru a transmite funcții PHP mysqli_fetch_array() pentru a utiliza sau a scoate date pentru toate interogările.
mysqli_fetch_array() Funcția preia un rând din setul de rezultate ca o matrice asociativă, sau o matrice de numere sau ambele. Returnează o matrice generată din rândurile preluate din setul de rezultate sau false dacă nu mai există rânduri.
Următorul exemplu citește toate înregistrările din tabelul de date chenweiliang_tbl.
Instanță
Încercați următorul exemplu pentru a afișa toate înregistrările din tabelul de date chenweiliang_tbl.
Utilizați parametrul mysqli_fetch_array MYSQL_ASSOC pentru a prelua date:
<? 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); ?>
În exemplul de mai sus, fiecare rând de înregistrări citit este atribuit variabilei $row și apoi fiecare valoare este tipărită.
Notă:Amintiți-vă că, dacă trebuie să utilizați o variabilă într-un șir, puneți variabila între acolade.
În exemplul de mai sus, al doilea parametru al funcției PHP mysqli_fetch_array() este MYSQL_ASSOC, setați acest parametru pentru a interoga rezultatul pentru a returna o matrice asociativă, puteți utiliza numele câmpului ca index al matricei.
PHP oferă o altă funcție mysqli_fetch_assoc(), funcția preia un rând din setul de rezultate ca un tablou asociativ.Returnează o matrice asociativă generată din rândurile preluate din setul de rezultate sau false dacă nu mai există rânduri.
Instanță
Încercați următorul exemplu, care folosește mysqli_fetch_assoc() funcție pentru a scoate toate înregistrările din tabelul de date chenweiliang_tbl:
Utilizați mysqli_fetch_assoc pentru a prelua date:
<? 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); ?>
De asemenea, puteți utiliza constanta MYSQL_NUM ca al doilea parametru al funcției PHP mysqli_fetch_array(), care returnează o matrice de numere.
Instanță
Următoarele exemple folosesc MYSQL_NUM Parametrul afișează toate înregistrările din tabelul de date chenweiliang_tbl:
Utilizați parametrul mysqli_fetch_array MYSQL_NUM pentru a prelua date:
<? 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); ?>
Rezultatele rezultatelor celor trei exemple de mai sus sunt aceleași.
eliberarea memoriei
Este o practică bună să eliberăm memoria cursorului după ce am executat o instrucțiune SELECT.
Memoria poate fi eliberată prin funcția PHP mysqli_free_result().
Următorul exemplu demonstrează utilizarea acestei funcții.
Instanță
Încercați următoarele exemple:
Memorie liberă cu 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 Blog ( https://www.chenweiliang.com/ ) shared „Cum interogează baza de date MySQL datele din tabel?Interogare/Comandă/Sintaxă” pentru a vă ajuta.
Bine ați venit să distribuiți linkul acestui articol:https://www.chenweiliang.com/cwl-461.html
Bun venit pe canalul Telegram al blogului lui Chen Weiliang pentru a primi cele mai recente actualizări!
📚 Acest ghid conține o valoare uriașă, 🌟Aceasta este o oportunitate rară, nu o ratați! ⏰⌛💨
Distribuie si da like daca iti place!
Partajarea și like-urile tale sunt motivația noastră continuă!