Direktori Artikel
- 1 Data pertanyaan MySQL
- 2 Dapatkan data melalui command prompt
- 3 Baca lembaran data:
- 4 Gunakan skrip PHP untuk mendapatkan data
- 5 Gunakan parameter mysqli_fetch_array MYSQL_ASSOC untuk mengambil data:
- 6
- 7 Gunakan mysqli_fetch_assoc untuk mengambil data:
- 8 Gunakan parameter mysqli_fetch_array MYSQL_NUM untuk mengambil data:
- 9 pelepasan ingatan
- 10 Memori percuma dengan mysqli_free_result:
pangkalan data MySQLBagaimana untuk menanyakan data dalam jadual?Pernyataan Pertanyaan/Perintah/Sintaks
MySQL Data pertanyaan
Pangkalan data MySQL menggunakan pernyataan SQL SELECT untuk pertanyaan data.
Anda boleh menanyakan data dalam pangkalan data melalui tetingkap command prompt mysql>, atau melalui skrip PHP.
tatabahasa
Berikut ialah sintaks SELECT umum untuk pertanyaan data dalam pangkalan data MySQL:
SELECT column_name,column_name FROM table_name [WHERE Clause] [OFFSET M ][LIMIT N]
- Dalam pernyataan pertanyaan, anda boleh menggunakan satu atau lebih jadual, pisahkan jadual dengan koma (,) dan gunakan pernyataan WHERE untuk menetapkan syarat pertanyaan.
- Perintah SELECT boleh membaca satu atau lebih rekod.
- Anda boleh menggunakan asterisk (*) untuk menggantikan medan lain, pernyataan SELECT akan mengembalikan semua data medan jadual
- Anda boleh menggunakan pernyataan WHERE untuk memasukkan sebarang syarat.
- Anda boleh menentukan offset data di mana pernyataan SELECT memulakan pertanyaan dengan OFFSET.Secara lalai offset ialah 0.
- Anda boleh menggunakan sifat LIMIT untuk menetapkan bilangan rekod yang dikembalikan.
Dapatkan data melalui command prompt
Dalam contoh berikut, kami akan menggunakan perintah SQL SELECT untuk mendapatkan data jadual data MySQL chenweiliang_tbl:
contoh
Contoh berikut akan mengembalikan semua rekod jadual data chenweiliang_tbl:
Baca lembaran data:
select * from chenweiliang_tbl;
Gunakan skrip PHP untuk mendapatkan data
menggunakan fungsi PHP mysqli_query() Dan SQL SELECT arahan untuk mendapatkan data.
Fungsi ini digunakan untuk melaksanakan perintah SQL dan kemudian lulus fungsi PHP mysqli_fetch_array() untuk menggunakan atau mengeluarkan data untuk semua pertanyaan.
mysqli_fetch_array() Fungsi mengambil baris daripada set hasil sebagai tatasusunan bersekutu, atau tatasusunan nombor, atau kedua-duanya. Mengembalikan tatasusunan yang dijana daripada baris yang diambil daripada set hasil, atau palsu jika tiada lagi baris.
Contoh berikut membaca semua rekod daripada jadual data chenweiliang_tbl.
contoh
Cuba contoh berikut untuk memaparkan semua rekod jadual data chenweiliang_tbl.
Gunakan parameter mysqli_fetch_array MYSQL_ASSOC untuk mengambil 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); ?>
Dalam contoh di atas, setiap baris rekod yang dibaca diberikan kepada pembolehubah $row, dan kemudian setiap nilai dicetak.
Nota:Ingat bahawa jika anda perlu menggunakan pembolehubah dalam rentetan, letakkan pembolehubah dalam pendakap kerinting.
Dalam contoh di atas, parameter kedua fungsi PHP mysqli_fetch_array() ialah MYSQL_ASSOC, tetapkan parameter ini untuk menanyakan hasil untuk mengembalikan tatasusunan bersekutu, anda boleh menggunakan nama medan sebagai indeks tatasusunan.
PHP menyediakan fungsi lain mysqli_fetch_assoc(), fungsi mengambil satu baris daripada set hasil sebagai tatasusunan bersekutu.Mengembalikan tatasusunan bersekutu yang dijana daripada baris yang diambil daripada set hasil, atau palsu jika tiada lagi baris.
contoh
Cuba contoh berikut, yang menggunakan mysqli_fetch_assoc() berfungsi untuk mengeluarkan semua rekod jadual data chenweiliang_tbl:
Gunakan mysqli_fetch_assoc untuk mengambil 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); ?>
Anda juga boleh menggunakan pemalar MYSQL_NUM sebagai parameter kedua fungsi PHP mysqli_fetch_array(), yang mengembalikan tatasusunan nombor.
contoh
Contoh berikut menggunakan MYSQL_NUM Parameter memaparkan semua rekod jadual data chenweiliang_tbl:
Gunakan parameter mysqli_fetch_array MYSQL_NUM untuk mengambil 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); ?>
Hasil keluaran ketiga-tiga contoh di atas adalah sama.
pelepasan ingatan
Amalan yang baik untuk mengosongkan memori kursor selepas kami melaksanakan pernyataan SELECT.
Memori boleh dikeluarkan melalui fungsi PHP mysqli_free_result().
Contoh berikut menunjukkan penggunaan fungsi ini.
contoh
Cuba contoh berikut:
Memori percuma dengan 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); ?>
Blog Harapan Chen Weiliang ( https://www.chenweiliang.com/ ) berkongsi "Bagaimanakah pangkalan data MySQL menanyakan data dalam jadual?Pernyataan Pertanyaan/Perintah/Sintaks" untuk membantu anda.
Selamat datang untuk berkongsi pautan artikel ini:https://www.chenweiliang.com/cwl-461.html
Selamat datang ke saluran Telegram blog Chen Weiliang untuk mendapatkan kemas kini terkini!
📚 Panduan ini mengandungi nilai yang besar, 🌟Ini adalah peluang yang jarang berlaku, jangan lepaskan! ⏰⌛💨
Share dan like jika anda suka!
Perkongsian dan suka anda adalah motivasi berterusan kami!