ဆောင်းပါးလမ်းညွှန်
- 1 MySQL မေးမြန်းမှုဒေတာ
- 2 command prompt မှတဆင့် data ကိုရယူပါ။
- 3 ဒေတာစာရွက်ကိုဖတ်ပါ
- 4 ဒေတာရယူရန် PHP script ကိုသုံးပါ။
- 5 ဒေတာရယူရန် mysqli_fetch_array MYSQL_ASSOC ဘောင်ကို အသုံးပြုပါ-
- 6
- 7 ဒေတာရယူရန် mysqli_fetch_assoc ကိုသုံးပါ
- 8 ဒေတာရယူရန် mysqli_fetch_array MYSQL_NUM ဘောင်ကို အသုံးပြုပါ-
- 9 မှတ်ဉာဏ်ထုတ်ခြင်း။
- 10 mysqli_free_result ဖြင့် အခမဲ့မှတ်ဉာဏ်
MySQL ဒေတာဘေ့စ်ဇယားထဲက အချက်အလက်တွေကို ဘယ်လို စုံစမ်းမလဲ။Query Statement/Command/Syntax
က MySQL မေးမြန်းမှုဒေတာ
MySQL ဒေတာဘေ့စ်များသည် ဒေတာကို မေးမြန်းရန် SQL SELECT ထုတ်ပြန်ချက်များကို အသုံးပြုသည်။
mysql> command prompt ဝင်းဒိုးမှတဆင့် သို့မဟုတ် PHP script မှတဆင့် ဒေတာဘေ့စ်အတွင်း ဒေတာကို သင်မေးမြန်းနိုင်ပါသည်။
သဒ္ဒါ
အောက်ပါတို့သည် MySQL ဒေတာဘေ့စ်တွင် ဒေတာကို မေးမြန်းခြင်းအတွက် ယေဘုယျ SELECT syntax ဖြစ်သည်။
SELECT column_name,column_name FROM table_name [WHERE Clause] [OFFSET M ][LIMIT N]
- query statement တွင်၊ သင်သည် ဇယားတစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော ဇယားများကို အသုံးပြုနိုင်ပြီး၊ ဇယားများကို ကော်မာ (,) ဖြင့် ပိုင်းခြားနိုင်ပြီး query အခြေအနေများကို သတ်မှတ်ရန် WHERE ထုတ်ပြန်ချက်ကို အသုံးပြုနိုင်သည်။
- SELECT အမိန့်သည် တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော မှတ်တမ်းများကို ဖတ်နိုင်သည်။
- အခြားအကွက်များကိုအစားထိုးရန် သင်သည် ခရေပွင့် (*) ကိုသုံးနိုင်သည်၊ SELECT ထုတ်ပြန်ချက်သည် ဇယား၏အကွက်ဒေတာအားလုံးကို ပြန်ပေးလိမ့်မည်
- အခြေအနေတိုင်းကို ထည့်သွင်းရန် WHERE ထုတ်ပြန်ချက်ကို သင်သုံးနိုင်သည်။
- SELECT ထုတ်ပြန်ချက်သည် မေးခွန်းကို OFFSET ဖြင့် စတင်သည့် ဒေတာအော့ဖ်ဆက်ကို သင် သတ်မှတ်နိုင်သည်။ပုံမှန်အားဖြင့် offset သည် 0 ဖြစ်သည်။
- ပြန်ပေးသည့် မှတ်တမ်းအရေအတွက်ကို သတ်မှတ်ရန် LIMIT ပိုင်ဆိုင်မှုကို သင်အသုံးပြုနိုင်သည်။
command prompt မှတဆင့် data ကိုရယူပါ။
အောက်ပါဥပမာတွင်၊ MySQL ဒေတာဇယား chenweiliang_tbl ၏ဒေတာကိုရယူရန် SQL SELECT command ကိုအသုံးပြုပါမည်။
ဥပမာ
အောက်ပါဥပမာသည် ဒေတာဇယား chenweiliang_tbl ၏ မှတ်တမ်းအားလုံးကို ပြန်ပေးလိမ့်မည်-
ဒေတာစာရွက်ကိုဖတ်ပါ
select * from chenweiliang_tbl;
ဒေတာရယူရန် PHP script ကိုသုံးပါ။
PHP လုပ်ဆောင်ချက်များကို အသုံးပြု mysqli_query() နှင့် SQL SELECT data ကိုရယူရန် command ကို။
ဤလုပ်ဆောင်ချက်ကို SQL command များလုပ်ဆောင်ပြီးနောက် PHP လုပ်ဆောင်ချက်များကိုဖြတ်သန်းရန်အသုံးပြုသည်။ mysqli_fetch_array() မေးမြန်းမှုအားလုံးအတွက် ဒေတာကို အသုံးပြုရန် သို့မဟုတ် ထုတ်ပေးရန်။
mysqli_fetch_array() လုပ်ဆောင်ချက်သည် တွဲဖက်အာရေးတစ်ခု သို့မဟုတ် ဂဏန်းများ၏ အခင်းအကျင်းအဖြစ် သတ်မှတ်ထားသည့် ရလဒ်မှ အတန်းတစ်တန်းကို ထုတ်ယူသည်။ သို့မဟုတ် နှစ်ခုစလုံးကို ထုတ်ယူသည်။ ရလဒ်သတ်မှတ်မှုမှ ရယူထားသည့် အတန်းများမှ ထုတ်ပေးသည့် ခင်းကျင်းတစ်ခုကို ပြန်ပေးသည်၊ သို့မဟုတ် အတန်းများမရှိတော့ပါက မှားသည်။
အောက်ပါဥပမာသည် ဒေတာဇယား chenweiliang_tbl မှ မှတ်တမ်းအားလုံးကို ဖတ်သည်။
ဥပမာ
chenweiliang_tbl ဒေတာဇယား၏ မှတ်တမ်းအားလုံးကို ပြသရန် အောက်ပါဥပမာကို စမ်းကြည့်ပါ။
ဒေတာရယူရန် mysqli_fetch_array MYSQL_ASSOC ဘောင်ကို အသုံးပြုပါ-
<?
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);
?>အထက်ဖော်ပြပါ ဥပမာတွင်၊ ဖတ်ပြီးသော မှတ်တမ်းအတန်းတစ်ခုစီကို variable $row တွင် သတ်မှတ်ပေးပြီးနောက် တန်ဖိုးတစ်ခုစီကို ရိုက်နှိပ်ထားသည်။
မှတ်စုstring တစ်ခုတွင် variable ကိုအသုံးပြုရန်လိုအပ်ပါက၊ variable ကို curly braces တွင်ထည့်ပါ။
အထက်ဖော်ပြပါ ဥပမာတွင်၊ PHP mysqli_fetch_array() လုပ်ဆောင်ချက်၏ ဒုတိယ ဘောင်သည် ဖြစ်၏။ MYSQL_ASSOCassociative array ကိုပြန်ပို့ရန် ရလဒ်ကို စုံစမ်းရန် ဤ parameter ကို သတ်မှတ်ပါ၊ သင်သည် အကွက်အမည်ကို array ၏ အညွှန်းအဖြစ် သုံးနိုင်သည်။
PHP သည် အခြားသောလုပ်ဆောင်ချက်ကို ပံ့ပိုးပေးပါသည်။ mysqli_fetch_assoc()လုပ်ဆောင်ချက်သည် associative array အဖြစ်သတ်မှတ်ထားသောရလဒ်မှအတန်းတစ်ခုယူသည်။ရလဒ်သတ်မှတ်မှုမှ ထုတ်ယူထားသော အတန်းများမှ ထုတ်ပေးသော ဆက်စပ် ခင်းကျင်းတစ်ခုကို ပြန်ပေးသည်၊ သို့မဟုတ် အတန်းများမရှိတော့ပါက မှားသည်။
ဥပမာ
အသုံးပြုသော အောက်ပါ ဥပမာကို စမ်းကြည့်ပါ။ mysqli_fetch_assoc() chenweiliang_tbl ဒေတာဇယား၏ မှတ်တမ်းအားလုံးကို ထုတ်ရန် လုပ်ဆောင်ချက်
ဒေတာရယူရန် mysqli_fetch_assoc ကိုသုံးပါ
<?
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);
?>နံပါတ်များကို array ပြန်ပေးသည့် PHP mysqli_fetch_array() လုပ်ဆောင်ချက်၏ ကိန်းသေ MYSQL_NUM ကိုလည်း အသုံးပြုနိုင်သည်။
ဥပမာ
အောက်ပါဥပမာများကိုအသုံးပြုသည်။ MYSQL_NUM ကန့်သတ်ချက်သည် ဒေတာဇယား chenweiliang_tbl ၏ မှတ်တမ်းအားလုံးကို ပြသသည်-
ဒေတာရယူရန် mysqli_fetch_array MYSQL_NUM ဘောင်ကို အသုံးပြုပါ-
<?
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);
?>အထက်ဖော်ပြပါ နမူနာသုံးခု၏ ရလဒ်များသည် အတူတူပင်ဖြစ်ပါသည်။
မှတ်ဉာဏ်ထုတ်ခြင်း။
ကျွန်ုပ်တို့သည် SELECT ကြေညာချက်ကို လုပ်ဆောင်ပြီးနောက် ကာဆာမှတ်ဉာဏ်ကို လွတ်ကင်းစေရန် အလေ့အကျင့်ကောင်းတစ်ခုဖြစ်သည်။
မမ်မိုရီကို PHP လုပ်ဆောင်ချက် mysqli_free_result() မှတဆင့် ထုတ်လွှတ်နိုင်သည်။
အောက်ဖော်ပြပါ ဥပမာသည် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုမှုကို သရုပ်ပြသည်။
ဥပမာ
အောက်ပါ ဥပမာများကို စမ်းကြည့်ပါ။
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);
?>မျှော်လင့်ခြင်း Chen Weiliang ဘလော့ဂ် ( https://www.chenweiliang.com/ ) မျှဝေထားသည် "MySQL ဒေတာဘေ့စ်သည် ဇယားအတွင်းရှိ အချက်အလက်များကို မည်သို့မေးမြန်းသနည်း။သင့်အား ကူညီရန် Query Statement/Command/Syntax"။
ဤဆောင်းပါး၏ link ကိုမျှဝေရန်ကြိုဆိုပါတယ်:https://www.chenweiliang.com/cwl-461.html
