Maqolalar katalogi
- 1 MySQL so'rov ma'lumotlari
- 2 Ma'lumotni buyruq satri orqali oling
- 3 Ma'lumotlar jadvalini o'qing:
- 4 Ma'lumotlarni olish uchun PHP skriptidan foydalaning
- 5 Ma'lumotlarni olish uchun mysqli_fetch_array MYSQL_ASSOC parametridan foydalaning:
- 6
- 7 Ma'lumotlarni olish uchun mysqli_fetch_assoc dan foydalaning:
- 8 Ma'lumotlarni olish uchun mysqli_fetch_array MYSQL_NUM parametridan foydalaning:
- 9 xotirani chiqarish
- 10 mysqli_free_result bilan bo'sh xotira:
MySQL ma'lumotlar bazasiJadvaldagi ma'lumotlarni qanday so'rash mumkin?So'rov bayonoti/Buyruq/Sintaksis
MySQL So'rov ma'lumotlari
MySQL ma'lumotlar bazalari ma'lumotlarni so'rash uchun SQL SELECT iboralaridan foydalanadi.
Ma'lumotlar bazasidagi ma'lumotlarni mysql> buyruq satri oynasi yoki PHP skripti orqali so'rashingiz mumkin.
grammatika
Quyida MySQL ma'lumotlar bazasida ma'lumotlarni so'rash uchun umumiy SELECT sintaksisi keltirilgan:
SELECT column_name,column_name FROM table_name [WHERE Clause] [OFFSET M ][LIMIT N]
- So'rovlar bayonotida siz bir yoki bir nechta jadvallardan foydalanishingiz, jadvallarni vergul (,) bilan ajratishingiz va so'rov shartlarini o'rnatish uchun WHERE operatoridan foydalanishingiz mumkin.
- SELECT buyrug'i bir yoki bir nechta yozuvlarni o'qiy oladi.
- Boshqa maydonlarni almashtirish uchun yulduzcha (*) dan foydalanishingiz mumkin, SELECT iborasi jadvalning barcha maydon ma'lumotlarini qaytaradi.
- Har qanday shartni kiritish uchun WHERE iborasidan foydalanishingiz mumkin.
- SELECT iborasi so'rovni OFFSET bilan boshlaydigan ma'lumotlar ofsetini belgilashingiz mumkin.Sukut bo'yicha ofset 0 ga teng.
- Qaytarilgan yozuvlar sonini belgilash uchun LIMIT xususiyatidan foydalanishingiz mumkin.
Ma'lumotni buyruq satri orqali oling
Quyidagi misolda biz chenweiliang_tbl MySQL ma'lumotlar jadvalining ma'lumotlarini olish uchun SQL SELECT buyrug'idan foydalanamiz:
Misol
Quyidagi misol chenweiliang_tbl ma'lumotlar jadvalining barcha yozuvlarini qaytaradi:
Ma'lumotlar jadvalini o'qing:
select * from chenweiliang_tbl;
Ma'lumotlarni olish uchun PHP skriptidan foydalaning
PHP funksiyalaridan foydalanish mysqli_query() va SQL SELECT ma'lumotlarni olish uchun buyruq.
Bu funksiya SQL buyruqlarini bajarish va keyin PHP funksiyalarini uzatish uchun ishlatiladi mysqli_fetch_array() barcha so'rovlar uchun ma'lumotlarni ishlatish yoki chiqarish.
mysqli_fetch_array() Funktsiya natijalar to'plamidan qatorni assotsiativ massiv yoki raqamlar massivi yoki ikkalasi sifatida oladi. Natijalar to'plamidan olingan qatorlardan hosil qilingan massivni qaytaradi yoki boshqa qatorlar bo'lmasa, noto'g'ri qaytaradi.
Quyidagi misol chenweiliang_tbl ma'lumotlar jadvalidagi barcha yozuvlarni o'qiydi.
Misol
chenweiliang_tbl ma'lumotlar jadvalining barcha yozuvlarini ko'rsatish uchun quyidagi misolni sinab ko'ring.
Ma'lumotlarni olish uchun mysqli_fetch_array MYSQL_ASSOC parametridan foydalaning:
<? 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); ?>
Yuqoridagi misolda o'qilgan yozuvlarning har bir qatori $row o'zgaruvchisiga tayinlanadi va keyin har bir qiymat chop etiladi.
Eslatma:Esda tutingki, agar siz satrda o'zgaruvchini ishlatishingiz kerak bo'lsa, o'zgaruvchini jingalak qavslar ichiga qo'ying.
Yuqoridagi misolda PHP mysqli_fetch_array() funksiyasining ikkinchi parametri: MYSQL_ASSOC, assotsiativ massivni qaytarish uchun natijani so'rash uchun ushbu parametrni o'rnating, siz maydon nomini massiv indeksi sifatida ishlatishingiz mumkin.
PHP boshqa funktsiyani taqdim etadi mysqli_fetch_assoc(), funktsiya assotsiativ massiv sifatida natijalar to'plamidan qator oladi.Natijalar to'plamidan olingan qatorlardan hosil qilingan assotsiativ massivni qaytaradi yoki boshqa qatorlar bo'lmasa, noto'g'ri.
Misol
Quyidagi misolni ishlatib ko'ring mysqli_fetch_assoc() chenweiliang_tbl ma'lumotlar jadvalining barcha yozuvlarini chiqarish funktsiyasi:
Ma'lumotlarni olish uchun mysqli_fetch_assoc dan foydalaning:
<? 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); ?>
PHP mysqli_fetch_array() funksiyasining ikkinchi parametri sifatida MYSQL_NUM doimiysidan ham foydalanishingiz mumkin, bu raqamlar massivini qaytaradi.
Misol
Quyidagi misollar qo'llaniladi MYSQL_NUM Parametr chenweiliang_tbl ma'lumotlar jadvalining barcha yozuvlarini ko'rsatadi:
Ma'lumotlarni olish uchun mysqli_fetch_array MYSQL_NUM parametridan foydalaning:
<? 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); ?>
Yuqoridagi uchta misolning chiqish natijalari bir xil.
xotirani chiqarish
SELECT iborasini bajarganimizdan so'ng kursor xotirasini bo'shatish yaxshi amaliyotdir.
Xotirani PHP funksiyasi mysqli_free_result() orqali chiqarish mumkin.
Quyidagi misol ushbu funktsiyadan foydalanishni ko'rsatadi.
Misol
Quyidagi misollarni sinab ko'ring:
mysqli_free_result bilan bo'sh xotira:
<? 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); ?>
Umid qilamanki, Chen Veyliang blogi ( https://www.chenweiliang.com/ ) "MySQL ma'lumotlar bazasi jadvaldagi ma'lumotlarni qanday so'raydi?Sizga yordam berish uchun so'rov bayonoti/buyruq/sintaksisi".
Ushbu maqolaning havolasini baham ko'rish uchun xush kelibsiz:https://www.chenweiliang.com/cwl-461.html
Eng so'nggi yangiliklardan xabardor bo'lish uchun Chen Veyliang blogining Telegram kanaliga xush kelibsiz!
📚 Ushbu qo'llanmada katta ahamiyatga ega, 🌟Bu kamdan-kam imkoniyat, uni qo'ldan boy bermang! ⏰⌛💨
Baham ko'ring va yoqsa like!
Sizning baham ko'rish va yoqtirishlaringiz bizning doimiy motivatsiyamizdir!