<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// ဤကုဒ်၏ဤအပိုင်းသည်စာသား၏အကြောင်းအရာနှင့်မသက်ဆိုင်ပါ,သာဥပမာရည်ရွယ်ချက်များအတွက်သာ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဇာတ်ညွှန်းကိုစတင်လုပ်ဆောင်ပါ...\n"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
<span class="hljs-comment">/*
တစ် ဦး အမျိုးအစားမတိုက်ဆိုင်ကြုံတွေ့?ကြည့်ရှုပါ mysqli_result::$lengths အသုံးပြုသောအခါမည်သည့်ပြ issues နာများကိုအာရုံစိုက်သင့်သည်
*/</span>
<span class="hljs-comment">/**
* mysqli_result::$lengths array တစ်ခုပါ,ရလဒ်အစုတခုစီကိုနယ်ပယ်တစ်ခုစီမှသက်ဆိုင်ရာအချက်အလက်များ၏အရှည်ပါရှိသည်。
* အသုံးပြုတဲ့အခါအာရုံစိုက်ပါ,ဤအရှည်တန်ဖိုးများကိုအမျိုးအစားများနှင့်အသုံးပြုမှုမြင်ကွင်းများ。
*/</span>
</span><span><span class="hljs-variable">$mysqli</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">mysqli</span></span><span>(</span><span><span class="hljs-string">"localhost"</span></span><span>, </span><span><span class="hljs-string">"user"</span></span><span>, </span><span><span class="hljs-string">"password"</span></span><span>, </span><span><span class="hljs-string">"testdb"</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$mysqli</span></span><span>->connect_error) {
</span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">"ဆက်သွယ်မှုမအောင်မြင်ပါ: "</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>->connect_error);
}
</span><span><span class="hljs-variable">$sql</span></span><span> = </span><span><span class="hljs-string">"SELECT id, name, description FROM products"</span></span><span>;
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-variable">$mysqli</span></span><span>-></span><span><span class="hljs-title function_ invoke__">query</span></span><span>(</span><span><span class="hljs-variable">$sql</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$result</span></span><span> </span><span><span class="hljs-keyword">instanceof</span></span><span> mysqli_result) {
</span><span><span class="hljs-comment">// $lengths ကိန်းဂဏန်းများတစ်ခုခင်းကျင်းဖြစ်ပါတယ်,element သည်နယ်ပယ်တစ်ခုစီ၏ byte အရှည်နှင့်ကိုက်ညီသည်</span></span><span>
</span><span><span class="hljs-variable">$lengths</span></span><span> = </span><span><span class="hljs-variable">$result</span></span><span>->lengths;
</span><span><span class="hljs-comment">// နမူနာ:အရှည်ခင်းကျင်းနှင့်ပုံနှိပ်ပါ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Field အရှည်ခင်းကျင်းအမျိုးအစား: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">gettype</span></span><span>(</span><span><span class="hljs-variable">$lengths</span></span><span>) . </span><span><span class="hljs-string">"\n"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Field အရှည်အကြောင်းအရာ:\n"</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$lengths</span></span><span>);
<span class="hljs-comment">/*
* အမျိုးအစားမေးခွန်းများအတွက်အဓိကအချက်များ:
* 1. $lengths array တစ်ခုပါ,နှင့် element တစ်ခုစီသည်ကိန်းတစ်ခုဖြစ်သည်(int)。
* 2. ဒီအရှည် bytes ဖြစ်ကြသည်,string အရှည် function ကိုသတိပြုပါ strlen ရရှိနိုင်သောဇာတ်ကောင်အရေအတွက်သည်ကွဲပြားခြားနားသည်,အထူးသဖြင့် Multibyte ဇာတ်ကောင်。
* 3. $lengths Arrays ကိုသာအသုံးပြုကြသည် mysqli::store_result ရလဒ်ကိုပုံမှန်အားဖြင့်ရလဒ်ကိုကြားဖူးသည့်အခါသည်မှန်ကန်သည်,အသုံးပြု mysqli_use_result မရရှိနိုင်ပါ。
* 4. မသွားမီအတည်ပြုရန်သေချာပါစေ $result ဒါဟာထိရောက်သောဖြစ်ပါတယ် mysqli_result ကန့်ကွက်,အခြားနည်းအားဖြင့် $lengths အဘယ်သူမျှမဖြစ်တည်မှုသို့မဟုတ်အမှား。
*/</span>
</span><span><span class="hljs-comment">// 进一步နမူနာ:အသုံးပြု长度信息处理数据</span></span><span>
</span><span><span class="hljs-keyword">while</span></span><span> (</span><span><span class="hljs-variable">$row</span></span><span> = </span><span><span class="hljs-variable">$result</span></span><span>-></span><span><span class="hljs-title function_ invoke__">fetch_assoc</span></span><span>()) {
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$row</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$field</span></span><span> => </span><span><span class="hljs-variable">$value</span></span><span>) {
</span><span><span class="hljs-variable">$idx</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_search</span></span><span>(</span><span><span class="hljs-variable">$field</span></span><span>, </span><span><span class="hljs-title function_ invoke__">array_keys</span></span><span>(</span><span><span class="hljs-variable">$row</span></span><span>));
</span><span><span class="hljs-variable">$len</span></span><span> = </span><span><span class="hljs-variable">$lengths</span></span><span>[</span><span><span class="hljs-variable">$idx</span></span><span>] ?? </span><span><span class="hljs-literal">null</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"လယ်ကွင်း '<span class="hljs-subst">{$field}</span></span></span><span>' ၏တန်ဖိုးအရှည်(ဒရယ်)အတွက်:</span><span><span class="hljs-subst">{$len}</span></span><span>\n";
</span><span><span class="hljs-comment">// အာရုံစိုက်ပါ $len 是ဒရယ်长度,သေချာပေါက် string ကိုဇာတ်ကောင်အရေအတွက်နှင့်ညီမျှ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"strings ဇာတ်ကောင်အရေအတွက်:"</span></span><span> . </span><span><span class="hljs-title function_ invoke__">mb_strlen</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>, </span><span><span class="hljs-string">'UTF-8'</span></span><span>) . </span><span><span class="hljs-string">"\n"</span></span><span>;
}
}
</span><span><span class="hljs-variable">$result</span></span><span>-></span><span><span class="hljs-title function_ invoke__">free</span></span><span>();
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Query ပျက်ကွက်ခြင်းသို့မဟုတ်ရလဒ်မရှိပါ。\n"</span></span><span>;
}
</span><span><span class="hljs-variable">$mysqli</span></span><span>-></span><span><span class="hljs-title function_ invoke__">close</span></span><span>();
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// ဤကုဒ်၏ဤအပိုင်းသည်စာသား၏အကြောင်းအရာနှင့်မသက်ဆိုင်ပါ,သာဥပမာရည်ရွယ်ချက်များအတွက်သာ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"script လုပ်ဆောင်မှု၏အဆုံး。\n"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
သက်ဆိုင်သောတက်(ဂ်)များ:
mysqli_result