လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> DSN String format ၏အသေးစိတ်ရှင်းပြချက် PDE :: __ တည်ဆောက်ခြင်းနှင့်အရေးအသားသတ်မှတ်ချက်များသည်သင့်အားလျင်မြန်စွာနှင့်မှန်ကန်စွာပြင်ဆင်ပါလိမ့်မည်

DSN String format ၏အသေးစိတ်ရှင်းပြချက် PDE :: __ တည်ဆောက်ခြင်းနှင့်အရေးအသားသတ်မှတ်ချက်များသည်သင့်အားလျင်မြန်စွာနှင့်မှန်ကန်စွာပြင်ဆင်ပါလိမ့်မည်

gitbox 2025-09-19

PDO ကိုသုံးရန်လိုအပ်ပါကပထမခြေလှမ်းမှာ DSN (Data source name) ကိုမှန်ကန်စွာရေးသားရန်ဖြစ်သည်။ ဤဆောင်းပါးသည် DSN syntax, လွယ်ကူသော---to-to-to-database များ၏အကောင်းဆုံးအလေ့အကျင့်များကိုစနစ်တကျစီစဉ်ထားသည်။

DSN ဆိုတာဘာလဲ။

  • DSN : မည်သည့် Driver (MySQL, PGSQL, SQLite ... ), မည်သည့်အိမ်ရှင်, မည်သည့်အိမ်ရှင်, မည်သည့်အိမ်ရှင်, မည်သည့်အိမ်ရှင်, မည်သည့်အိမ်ရှင်, မည်သည့်အိမ်ရှင်နှင့်အခြားဆက်သွယ်မှုသတ်မှတ်ချက်များကိုဆက်သွယ်ရန်

  • တည်နေရာ - PDO အသစ် ($ DSN, $ username, $ password, $ ရွေးစရာများ)

  • ဖွဲ့စည်းပုံ : <driver>: <key> = <value>; [<key> = <key>: <key> <value>; ... ]

  • ဖြစ်ရပ်မှန် sensitivity : ကားမောင်းသူအမည်များနှင့်အဓိကအမည်များသည်များသောအားဖြင့်စာလုံးအကြီးအသေးအရေးမကြီးပါ။ သို့သော် တန်ဖိုးသည် (ထိုကဲ့သို့သောဖိုင်လမ်းကြောင်းများကဲ့သို့) ကွဲပြားခြားနားသည်။


ဘုံဒရိုင်ဘာ DSN ရေးသားခြင်းနည်းလမ်းများ

1) MySQL ( MySQL )

အခြေစိုက်စခန်း:

 <span><span><span class="hljs-variable">$dsn</span></span><span> = </span><span><span class="hljs-string">'mysql:host=127.0.0.1;port=3306;dbname=app;charset=utf8mb4'</span></span><span>;
</span><span><span class="hljs-variable">$pdo</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">PDO</span></span><span>(</span><span><span class="hljs-variable">$dsn</span></span><span>, </span><span><span class="hljs-string">'user'</span></span><span>, </span><span><span class="hljs-string">'pass'</span></span><span>, [
    PDO::</span><span><span class="hljs-variable constant_">ATTR_ERRMODE</span></span><span> =&gt; PDO::</span><span><span class="hljs-variable constant_">ERRMODE_EXCEPTION</span></span><span>,
]);
</span></span>

အရေးကြီးသောအချက်များနှင့်ရွေးချယ်စရာများ:

  • Host : ဒိုမိန်းအမည် / IP ရနိုင်သည်။ သင် Unix Socket သို့သွားလျှင် Unix_socket = / Path / MySQL.SCOK ကို သုံးပါ။ အိမ်ရှင် / port ကိုထပ်မံ ရေးပါနှင့်။

  • DBNAME : ပစ်မှတ်ဒေတာဘေ့စ်အမည်။

  • Charset : UTF8MB4 ကိုသတ်မှတ်ရန်အထူးအကြံပြုလိုပါသည်။

  • Port : ချန်လှပ်ထားနိုင်သည်။ ပုံမှန် 3306 ဖြစ်သည်။

  • SSL : MySQL / driver ၏မူကွဲအသစ်ကို PDO :: MySQL_ATTR_SSL_ * option ကိုပေါင်းစပ်နိုင်သည်။

Unix Societ Sexpress:

 <span><span><span class="hljs-variable">$dsn</span></span><span> = </span><span><span class="hljs-string">'mysql:unix_socket=/var/run/mysqld/mysqld.sock;dbname=app;charset=utf8mb4'</span></span><span>;
</span></span>

Multi-parametering splicing အတွက်လုံခြုံစိတ်ချရသောနည်းလမ်း (Semi-colon / အထူးအက္ခရာများ) အတွက်လုံခြုံစိတ်ချရသောနည်းလမ်း:

 <span><span><span class="hljs-variable">$params</span></span><span> = [
    </span><span><span class="hljs-string">'host'</span></span><span>    =&gt; </span><span><span class="hljs-string">'db.internal'</span></span><span>,
    </span><span><span class="hljs-string">'port'</span></span><span>    =&gt; </span><span><span class="hljs-number">3306</span></span><span>,
    </span><span><span class="hljs-string">'dbname'</span></span><span>  =&gt; </span><span><span class="hljs-string">'app'</span></span><span>,
    </span><span><span class="hljs-string">'charset'</span></span><span> =&gt; </span><span><span class="hljs-string">'utf8mb4'</span></span><span>,
];
</span><span><span class="hljs-variable">$dsn</span></span><span> = </span><span><span class="hljs-string">'mysql:'</span></span><span> . </span><span><span class="hljs-title function_ invoke__">implode</span></span><span>(</span><span><span class="hljs-string">';'</span></span><span>, </span><span><span class="hljs-title function_ invoke__">array_map</span></span><span>(
    fn(</span><span><span class="hljs-variable">$k</span></span><span>,</span><span><span class="hljs-variable">$v</span></span><span>) =&gt; </span><span><span class="hljs-variable">$k</span></span><span> . </span><span><span class="hljs-string">'='</span></span><span> . </span><span><span class="hljs-title function_ invoke__">str_replace</span></span><span>(</span><span><span class="hljs-string">';'</span></span><span>, </span><span><span class="hljs-string">'\;'</span></span><span>, (</span><span><span class="hljs-keyword">string</span></span><span>)</span><span><span class="hljs-variable">$v</span></span><span>),
    </span><span><span class="hljs-title function_ invoke__">array_keys</span></span><span>(</span><span><span class="hljs-variable">$params</span></span><span>),
    </span><span><span class="hljs-variable">$params</span></span><span>
));
</span></span>

2) Postgresql ( PGSQL )

အခြေစိုက်စခန်း:

 <span><span><span class="hljs-variable">$dsn</span></span><span> = </span><span><span class="hljs-string">'pgsql:host=127.0.0.1;port=5432;dbname=app'</span></span><span>;
</span><span><span class="hljs-variable">$pdo</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">PDO</span></span><span>(</span><span><span class="hljs-variable">$dsn</span></span><span>, </span><span><span class="hljs-string">'user'</span></span><span>, </span><span><span class="hljs-string">'pass'</span></span><span>);
</span></span>

အဓိကအချက်များ

  • အိမ်ရှင်သည် လမ်းကြောင်းတစ်ခုဖြစ်နိုင်သည် (UNIX ဒိုမိန်း socke directory, များသောအားဖြင့် / var / run / postgresql ) နှင့် port ကို ဤအချိန်တွင်ချန်လှပ်နိုင်သည်။

  • ရွေးချယ်စရာများ သို့မဟုတ်ဆက်သွယ်မှုပြီးနောက်အမည်များကိုသတ်မှတ်ရန်သို့မဟုတ် Options = '- client_encoding = utf8' ကိုအသုံးပြုပြီး နောက်အမည်များကို သတ်မှတ်ရန်စာလုံးအစုကိုအကြံပြုသည်။

  • အချို့သောအခြေအနေများသည် host = / var / run / postgresql ၏အရေးအသားနည်းလမ်းကိုပိုနှစ်သက်သည်။

Unix Societ Sexpress:

 <span><span><span class="hljs-variable">$dsn</span></span><span> = </span><span><span class="hljs-string">"pgsql:host=/var/run/postgresql;dbname=app"</span></span><span>;
</span></span>

3) SQLite ( SQLite )

ဖိုင်ဒေတာဘေ့စ် -

 <span><span><span class="hljs-variable">$dsn</span></span><span> = </span><span><span class="hljs-string">'sqlite:/path/to/database.sqlite'</span></span><span>;
</span><span><span class="hljs-variable">$pdo</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">PDO</span></span><span>(</span><span><span class="hljs-variable">$dsn</span></span><span>);
</span></span>

In-Memory Database:

 <span><span><span class="hljs-variable">$dsn</span></span><span> = </span><span><span class="hljs-string">'sqlite::memory:'</span></span><span>;
</span><span><span class="hljs-variable">$pdo</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">PDO</span></span><span>(</span><span><span class="hljs-variable">$dsn</span></span><span>);
</span></span>

အဓိကအချက်များ

  • လမ်းကြောင်းသည်နေရာများသို့မဟုတ် semicolons များပါ 0 င်သည့်အခါအမှန်တကယ်ဖိုင်လမ်းကြောင်းရှိအထူးအက္ခရာများကိုရှောင်ရှားရန်အကြံပြုသည်။ Windows အောက်ရှိနှစ်ဆ backslashes သို့မဟုတ်မျဉ်းစောင်းလမ်းကြောင်းများကိုအသုံးပြုပါ။ C: \\ ဒေတာ \\ db.sqlite သို့မဟုတ် c: /data/db.sqlite


4) SQL Server ( SQLSRV Driver)

အခြေစိုက်စခန်း:

 <span><span><span class="hljs-variable">$dsn</span></span><span> = </span><span><span class="hljs-string">'sqlsrv:Server=127.0.0.1,1433;Database=app'</span></span><span>;
</span><span><span class="hljs-variable">$pdo</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">PDO</span></span><span>(</span><span><span class="hljs-variable">$dsn</span></span><span>, </span><span><span class="hljs-string">'user'</span></span><span>, </span><span><span class="hljs-string">'pass'</span></span><span>);
</span></span>

အဓိကအချက်များ

  • ဆာဗာသည် အိမ်ရှင်, port သို့မဟုတ် hostname ၏ hostname \ တွင် ရေးနိုင်သည်။

  • Options မှတစ်ဆင့် encoding ကိုရွေးချယ်ရန်အကြံပြုသည်။ PDO :: sqlsrv_at_encoding

  • tls / encryption ကိုများသောအားဖြင့်ယာဉ်မောင်းရွေးချယ်မှုများဖြင့်ဖြတ်သန်းလေ့ရှိသည် (ဆောင်းပါး၏အဆုံးကိုကြည့်ပါ) ။

ပုံဖော်ထားသောဥပမာများ -

 <span><span><span class="hljs-variable">$dsn</span></span><span> = </span><span><span class="hljs-string">'sqlsrv:Server=WIN-SRV\\SQLEXPRESS;Database=app'</span></span><span>;
</span></span>

5) Oracle ( OCI / OCI8 )

အခြေစိုက်စခန်း:

 <span><span><span class="hljs-variable">$dsn</span></span><span> = </span><span><span class="hljs-string">'oci:dbname=//127.0.0.1:1521/ORCL;charset=AL32UTF8'</span></span><span>;
</span><span><span class="hljs-variable">$pdo</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">PDO</span></span><span>(</span><span><span class="hljs-variable">$dsn</span></span><span>, </span><span><span class="hljs-string">'user'</span></span><span>, </span><span><span class="hljs-string">'pass'</span></span><span>);
</span></span>

အဓိကအချက်များ

  • DBNAME သည် // host: port / service_name သို့မဟုတ် local tnsnames.ora တွင်နာမည်များကိုထောက်ပံ့သည်။

  • အကြံပြု al32utf8 encoding ။


6. IBM DB2 ( IBM )

 <span><span><span class="hljs-variable">$dsn</span></span><span> = </span><span><span class="hljs-string">'ibm:DRIVER={IBM DB2 ODBC DRIVER};DATABASE=APP;HOSTNAME=127.0.0.1;PORT=50000;PROTOCOL=TCPIP;'</span></span><span>;
</span><span><span class="hljs-variable">$pdo</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">PDO</span></span><span>(</span><span><span class="hljs-variable">$dsn</span></span><span>, </span><span><span class="hljs-string">'user'</span></span><span>, </span><span><span class="hljs-string">'pass'</span></span><span>);
</span></span>

7. Firebird ( Firebird )

 <span><span><span class="hljs-variable">$dsn</span></span><span> = </span><span><span class="hljs-string">'firebird:dbname=localhost:/path/to/db.fdb;charset=UTF8'</span></span><span>;
</span><span><span class="hljs-variable">$pdo</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">PDO</span></span><span>(</span><span><span class="hljs-variable">$dsn</span></span><span>, </span><span><span class="hljs-string">'user'</span></span><span>, </span><span><span class="hljs-string">'pass'</span></span><span>);
</span></span>

လက်တွေ့ကျတဲ့စံချိန်စံညွှန်းများနှင့်အမှားများပြုလုပ်ရန်လွယ်ကူသည်

1. သော့နှင့်တန်ဖိုးများကို Semicolons ဖြင့်ခွဲထားသည်။ Semicolon သည်တန်ဖိုးတွင်ပေါ်လာပါကကျွန်ုပ်ဘာလုပ်သင့်သနည်း။

  • အသေးစိတ်ဖော်ပြချက်: <driver>: key = တန်ဖိုး; key = တန်ဖိုး , semicolon, semicolon ဖြစ်ပါတယ်။

  • အကယ်. တန်ဖိုးမှာ Semicolon (ရှားပါး) ဆံ့နိုင်ပါက၎င်းကို DSN ထဲသို့ထည့်ရန် လိုအပ်ပါက၎င်းကို DSN ထဲသို့ထည့်ရန်မလိုအပ်ပါ။

2) coding settings

  • MySQL - DSN တွင် Charset = UTF8MB4 ကို ထည့်ရန်အလိုအလျောက်ထည့်သွင်းထားပါသည်။ မိတ္တူပွားခြင်းကိုရှောင်ရှားရန်ချိတ်ဆက်ပြီးနောက် နာမည် တင်ပါနှင့်။

  • Postgresql - ရွေးစရာများ ဖြင့် UTF8 ကို ရွေးချယ်ရန် အကြံပြုသည်။

  • SQL server : option pdo :: sqlsrv_att_att_encoding (ဥပမာ sqlsrv_encoding_utf8 ) ကိုသတ်မှတ်ပါ။

3) အိမ်ရှင်, ဆိပ်ကမ်းနှင့် socket ၏အပြန်အလှန်ဖယ်ထုတ်ခြင်း

  • MySQL တွင် Unix_socket နှင့် host / port ကို မသုံးပါနှင့်

  • Postgresql ၏ socket ကို directory တစ်ခုသို့ ညွှန် ပြခြင်းဖြင့်အကောင်အထည်ဖော်သည်။

4) Windows Path နှင့် Backslash

  • Sqlite ကဲ့သို့သောဖိုင်လမ်းကြောင်းများကို Windows တွင်နှစ်ဆဖောက်ထွင်းခြင်းသို့မဟုတ်ရှေ့သို့မျဉ်းစောင်းများကိုအသုံးပြုရန်အကြံပြုသည်။ C: \\ pathsqlite သို့မဟုတ် c: / whatsp.sqlite

5) ပတ် 0 န်းကျင် variable တွေကိုနှင့် configuration စင်တာ

  • အကောင့်စကားဝှက်ကိုဂိုဒေါင်ထဲထည့်ပါ။

    • .NIV : DB_DSN = MYSQL: host = ... ; dbname = ... ; charset = utset = utset = utset = utset = utset = utset = utset = utset = utset =

    • Runtime: $ PDO = PDO အသစ် (DB_DSN), GetNV (DB_USER '), GetNV (DB_ass'),


လုံခြုံမှုနှင့်စွမ်းဆောင်ရည်ရွေးချယ်မှုများ (စတုတ်ထ parameter $ ရွေးစရာများ )

 <span><span><span class="hljs-variable">$opts</span></span><span> = [
    PDO::</span><span><span class="hljs-variable constant_">ATTR_ERRMODE</span></span><span>            =&gt; PDO::</span><span><span class="hljs-variable constant_">ERRMODE_EXCEPTION</span></span><span>, </span><span><span class="hljs-comment">// ခြွင်းချက်ပစ်,နေရာချထားရန်လွယ်ကူသည်</span></span><span>
    PDO::</span><span><span class="hljs-variable constant_">ATTR_DEFAULT_FETCH_MODE</span></span><span> =&gt; PDO::</span><span><span class="hljs-variable constant_">FETCH_ASSOC</span></span><span>,       </span><span><span class="hljs-comment">// default အားဖြင့် Associative Array ကိုပြန်ပို့သည်</span></span><span>
    PDO::</span><span><span class="hljs-variable constant_">ATTR_EMULATE_PREPARES</span></span><span>   =&gt; </span><span><span class="hljs-literal">false</span></span><span>,                  </span><span><span class="hljs-comment">// ကားမောင်းသူကို preprocessing ကိုသုံးပါစေ(လုံခွုံမှု/ပိုပြီးတည်ငြိမ်သောစွမ်းဆောင်ရည်)</span></span><span>
];

</span><span><span class="hljs-comment">// MySQL SSL နမူနာ(ဘယ်အချိန်မှာယာဉ်မောင်းထောက်ခံမှု):</span></span><span>
</span><span><span class="hljs-variable">$opts</span></span><span>[PDO::</span><span><span class="hljs-variable constant_">MYSQL_ATTR_SSL_CA</span></span><span>]   = </span><span><span class="hljs-string">'/etc/ssl/certs/ca.pem'</span></span><span>;
</span><span><span class="hljs-comment">// $opts[PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT] = false; // သငျသညျစိစစ်အတည်ပြု skip ဖို့လိုအပ်မယ်ဆိုရင်(မအကြံပြုပါ)</span></span><span>

</span><span><span class="hljs-variable">$pdo</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">PDO</span></span><span>(</span><span><span class="hljs-variable">$dsn</span></span><span>, </span><span><span class="hljs-variable">$user</span></span><span>, </span><span><span class="hljs-variable">$pass</span></span><span>, </span><span><span class="hljs-variable">$opts</span></span><span>);
</span></span>

အရိပ်အမြွက်:

  • ကြိုတင်မဆိုထုတ်ပြန်ချက်များနှင့်အတူပေါင်းစပ်နိုင်သလား ? သို့မဟုတ် SQL Injection ကိုရှောင်ရှားရန် paraywers အမည်ရှိ။

  • ထုတ်လုပ်မှုပတ် 0 န်းကျင်သည် TLS / SSL ကိုဖွင့်ထားရမည်။


Configuration Array မှ DSN ကိုလုံလုံခြုံခြုံတည်ဆောက်ရန် (ပြန်လည်အသုံးပြုနိုင်သော function)

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">build_mysql_dsn</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-keyword">array</span></span></span><span> </span><span><span class="hljs-variable">$cfg</span></span><span>): </span><span><span class="hljs-title">string</span></span><span> {
    </span><span><span class="hljs-comment">// ထောက် host/port သို့မဟုတ် unix_socket,အချည်းနှီးသောတန်ဖိုးများကိုအလိုအလျောက်စစ်</span></span><span>
    </span><span><span class="hljs-variable">$parts</span></span><span> = [];
    </span><span><span class="hljs-variable">$parts</span></span><span>[] = </span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$cfg</span></span><span>[</span><span><span class="hljs-string">'unix_socket'</span></span><span>])
        ? </span><span><span class="hljs-string">'unix_socket='</span></span><span> . </span><span><span class="hljs-variable">$cfg</span></span><span>[</span><span><span class="hljs-string">'unix_socket'</span></span><span>]
        : </span><span><span class="hljs-string">'host='</span></span><span> . (</span><span><span class="hljs-variable">$cfg</span></span><span>[</span><span><span class="hljs-string">'host'</span></span><span>] ?? </span><span><span class="hljs-string">'127.0.0.1'</span></span><span>);

    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-keyword">empty</span></span><span>(</span><span><span class="hljs-variable">$cfg</span></span><span>[</span><span><span class="hljs-string">'unix_socket'</span></span><span>]) &amp;&amp; !</span><span><span class="hljs-keyword">empty</span></span><span>(</span><span><span class="hljs-variable">$cfg</span></span><span>[</span><span><span class="hljs-string">'port'</span></span><span>])) {
        </span><span><span class="hljs-variable">$parts</span></span><span>[] = </span><span><span class="hljs-string">'port='</span></span><span> . (</span><span><span class="hljs-keyword">int</span></span><span>)</span><span><span class="hljs-variable">$cfg</span></span><span>[</span><span><span class="hljs-string">'port'</span></span><span>];
    }
    </span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-keyword">empty</span></span><span>(</span><span><span class="hljs-variable">$cfg</span></span><span>[</span><span><span class="hljs-string">'dbname'</span></span><span>])) {
        </span><span><span class="hljs-variable">$parts</span></span><span>[] = </span><span><span class="hljs-string">'dbname='</span></span><span> . </span><span><span class="hljs-variable">$cfg</span></span><span>[</span><span><span class="hljs-string">'dbname'</span></span><span>];
    }
    </span><span><span class="hljs-variable">$parts</span></span><span>[] = </span><span><span class="hljs-string">'charset='</span></span><span> . (</span><span><span class="hljs-variable">$cfg</span></span><span>[</span><span><span class="hljs-string">'charset'</span></span><span>] ?? </span><span><span class="hljs-string">'utf8mb4'</span></span><span>);

    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-string">'mysql:'</span></span><span> . </span><span><span class="hljs-title function_ invoke__">implode</span></span><span>(</span><span><span class="hljs-string">';'</span></span><span>, </span><span><span class="hljs-variable">$parts</span></span><span>);
}

</span><span><span class="hljs-comment">// အသုံးရောင်</span></span><span>
</span><span><span class="hljs-variable">$dsn</span></span><span> = </span><span><span class="hljs-title function_ invoke__">build_mysql_dsn</span></span><span>([
    </span><span><span class="hljs-string">'host'</span></span><span>    =&gt; </span><span><span class="hljs-string">'db.internal'</span></span><span>,
    </span><span><span class="hljs-string">'port'</span></span><span>    =&gt; </span><span><span class="hljs-number">3306</span></span><span>,
    </span><span><span class="hljs-string">'dbname'</span></span><span>  =&gt; </span><span><span class="hljs-string">'app'</span></span><span>,
    </span><span><span class="hljs-string">'charset'</span></span><span> =&gt; </span><span><span class="hljs-string">'utf8mb4'</span></span><span>,
]);
</span><span><span class="hljs-comment">// new PDO($dsn, $user, $pass, $opts);</span></span><span>
</span></span>

ဆက်သွယ်မှုမအောင်မြင်ပါ

  1. Driver ကို install မလုပ်နိုင်ပါ - PDO_MYSQL / PDOMSQL / PDO_PGSQL ရှိလား

  2. Host (သို့) Port Error : SQLTATE [2002] [2002] [2002] (MySQL) (MySQL) → Host / Port သို့မဟုတ် Unix_Socket ကို အတည်ပြုပါ။

  3. ဒေတာဘေ့စ်မရှိပါအမည်မသိ database 'xxx' → dbname → dbname ကို fix သို့မဟုတ်စာကြည့်တိုက်ကိုအရင်ဖန်တီးပါ။

  4. coding ပြ problem နာ - carbled code ပေါ်လာသော→ DSN / option ရှိဇာတ်ကောင်အစုံသည်တသမတ်တည်းရှိကြောင်းအတည်ပြုပါ

  5. TLS / Certificate : SSL လက်ကိုင်တင်ခြင်းမအောင်မြင်ပါ။ tls ကိုဆာဗာတွင်ဖွင့်ထားသလား, CA လမ်းကြောင်းကိုစစ်ဆေးပါ။

  6. ခွင့်ပြုချက်မလုံလောက်ခြင်း - ခွင့်ပြုချက်ငြင်းပယ်ခြင်း ငြင်းပယ်ခြင်းငြင်းပယ်ခြင်း accied →အသုံးပြုသူအမည် / စကားဝှက်, အသုံးပြုသူခွင့်ပြုချက်များကိုပစ်မှတ်စာကြည့်တိုက်တွင်အတည်ပြုပါ။


အသုံးများသော DSN Quick Review (စုဆောင်းနိုင်သည်)

 <span><span>MySQL
mysql:host=HOST;port=3306;dbname=DB;charset=utf8mb4
mysql:unix_socket=/path/mysql.sock;dbname=DB;charset=utf8mb4

PostgreSQL
pgsql:host=HOST;port=5432;dbname=DB
pgsql:host=/var/run/postgresql;dbname=DB

SQLite
sqlite:/absolute/path/to/db.sqlite
sqlite::memory:

SQL Server
sqlsrv:Server=HOST,1433;Database=DB
sqlsrv:Server=HOST\INSTANCE;Database=DB

Oracle
oci:dbname=//HOST:1521/SERVICE;charset=AL32UTF8

Db2
ibm:DRIVER={IBM DB2 ODBC DRIVER};DATABASE=DB;HOSTNAME=HOST;PORT=50000;PROTOCOL=TCPIP;

Firebird
firebird:dbname=HOST:/path/to/db.fdb;charset=UTF8
</span></span>
  • သက်ဆိုင်သောတက်(ဂ်)များ:

    PDO