Skip to main content

เนื้อหาภาษาไทย / Thai content

System guide Content reviewed

เริ่มต้นใช้งาน PDO: การติดตั้งและตั้งค่า

บทนี้เป็นการปูพื้นฐานสำหรับการใช้งาน PDO (PHP Data Objects) โดยเน้นที่การตรวจสอบว่า PDO extension ติดตั้งและเปิดใช้งานแล้ว รวมถึงการสร้าง Data Source Name (DSN)...

เริ่มต้นใช้งาน PDO: การติดตั้งและตั้งค่า

ในบทเรียนนี้ เราจะมาเริ่มต้นใช้งาน PDO (PHP Data Objects) ซึ่งเป็นส่วนขยาย (Extension) ที่สำคัญของ PHP ที่ช่วยให้เราสามารถเชื่อมต่อและทำงานกับฐานข้อมูลได้อย่างง่ายดายและปลอดภัย PDO เป็นเหมือนสะพานที่เชื่อมต่อ PHP ของเราเข้ากับฐานข้อมูลต่างๆ ไม่ว่าจะเป็น MySQL, PostgreSQL, SQLite และอื่นๆ อีกมากมาย

ในบทนี้ เราจะเรียนรู้วิธีการตรวจสอบว่า PDO ได้ถูกติดตั้งไว้ใน PHP ของเราแล้วหรือไม่ และวิธีการตั้งค่า Connection String หรือ DSN (Data Source Name) เพื่อใช้ในการเชื่อมต่อกับฐานข้อมูลของเรา

1. ตรวจสอบ PDO Extension

ก่อนที่เราจะเริ่มใช้งาน PDO ได้นั้น เราต้องตรวจสอบก่อนว่า PDO Extension ได้ถูกติดตั้งและเปิดใช้งานใน PHP ของเราแล้วหรือไม่ มีหลายวิธีในการตรวจสอบดังนี้:

1.1. ตรวจสอบผ่าน phpinfo()

วิธีที่ง่ายที่สุดคือการใช้ฟังก์ชัน phpinfo() ฟังก์ชันนี้จะแสดงข้อมูลการตั้งค่าทั้งหมดของ PHP ของเรา

  1. สร้างไฟล์ PHP ชื่อ phpinfo.php
  2. ใส่โค้ดต่อไปนี้ลงในไฟล์:
  3. <?php
    phpinfo();
    ?>
  4. เปิดไฟล์ phpinfo.php ผ่าน Browser ของคุณ (เช่น http://localhost/phpinfo.php)
  5. ค้นหาคำว่า "PDO" ในหน้าเว็บ หากพบ แสดงว่า PDO ได้ถูกติดตั้งแล้ว
  6. หากพบส่วนของ PDO ที่ระบุ Driver ที่ต้องการ (เช่น PDO_MYSQL, PDO_PGSQL) แสดงว่า Driver นั้นๆ ก็ถูกติดตั้งและพร้อมใช้งานแล้วเช่นกัน

1.2. ตรวจสอบผ่าน Command Line

หากคุณถนัดการใช้งาน Command Line คุณสามารถใช้คำสั่งต่อไปนี้เพื่อตรวจสอบว่า PDO ได้ถูกติดตั้งหรือไม่:

php -m | grep pdo

หากคำสั่งนี้แสดงผลลัพธ์เป็น pdo แสดงว่า PDO ได้ถูกติดตั้งแล้ว

นอกจากนี้ คุณยังสามารถตรวจสอบ Driver ที่ติดตั้งได้ด้วยคำสั่ง:

php -i | grep "PDO drivers"

1.3. การติดตั้ง PDO Extension (กรณีที่ยังไม่ได้ติดตั้ง)

หากคุณตรวจสอบแล้วพบว่า PDO ยังไม่ได้ถูกติดตั้ง คุณจะต้องทำการติดตั้ง PDO Extension ก่อน วิธีการติดตั้งจะแตกต่างกันไปขึ้นอยู่กับระบบปฏิบัติการและวิธีการติดตั้ง PHP ของคุณ

  • บน Linux (Debian/Ubuntu):
    sudo apt-get update
    sudo apt-get install php-pdo php-mysql  # สำหรับ MySQL
    # หรือ
    sudo apt-get install php-pdo php-pgsql  # สำหรับ PostgreSQL
  • บน Linux (CentOS/RHEL):
    sudo yum install php-pdo php-mysql  # สำหรับ MySQL
    # หรือ
    sudo yum install php-pdo php-pgsql  # สำหรับ PostgreSQL
  • บน Windows:

    โดยทั่วไป PDO จะถูกติดตั้งพร้อมกับ PHP แต่หากไม่ได้ติดตั้ง คุณสามารถเปิดใช้งาน Extension ในไฟล์ php.ini โดย uncomment (ลบเครื่องหมาย ; ที่ด้านหน้า) บรรทัดที่เกี่ยวข้องกับ PDO Extension เช่น:

    extension=pdo_mysql

    หลังจากแก้ไขไฟล์ php.ini แล้ว ให้ทำการ Restart Web Server ของคุณ

สำคัญ: หลังจากติดตั้งหรือเปิดใช้งาน PDO Extension แล้ว อย่าลืม Restart Web Server ของคุณเพื่อให้การเปลี่ยนแปลงมีผล

2. การสร้าง DSN (Data Source Name)

DSN หรือ Data Source Name คือ String ที่ระบุข้อมูลที่จำเป็นในการเชื่อมต่อกับฐานข้อมูล เช่น ประเภทของฐานข้อมูล, Hostname, ชื่อฐานข้อมูล, และ Encoding

รูปแบบของ DSN จะแตกต่างกันไปขึ้นอยู่กับประเภทของฐานข้อมูลที่เราต้องการเชื่อมต่อ

2.1. DSN สำหรับ MySQL

รูปแบบ DSN สำหรับ MySQL คือ:

mysql:host=hostname;dbname=databasename;charset=utf8mb4

โดยที่:

  • mysql: ระบุประเภทของฐานข้อมูลเป็น MySQL
  • host=hostname: ระบุ Hostname ของฐานข้อมูล (เช่น localhost หรือ IP Address)
  • dbname=databasename: ระบุชื่อของฐานข้อมูล
  • charset=utf8mb4: ระบุ Character Set ที่ใช้ในการเชื่อมต่อ (แนะนำให้ใช้ utf8mb4 เพื่อรองรับภาษาไทยและ Emoji)

ตัวอย่าง:

$dsn = 'mysql:host=localhost;dbname=mydatabase;charset=utf8mb4';

2.2. DSN สำหรับ PostgreSQL

รูปแบบ DSN สำหรับ PostgreSQL คือ:

pgsql:host=hostname;port=5432;dbname=databasename;user=username;password=password

โดยที่:

  • pgsql: ระบุประเภทของฐานข้อมูลเป็น PostgreSQL
  • host=hostname: ระบุ Hostname ของฐานข้อมูล (เช่น localhost หรือ IP Address)
  • port=5432: ระบุ Port ของฐานข้อมูล (ค่า Default คือ 5432)
  • dbname=databasename: ระบุชื่อของฐานข้อมูล
  • user=username: ระบุ Username ที่ใช้ในการเชื่อมต่อ
  • password=password: ระบุ Password ที่ใช้ในการเชื่อมต่อ

ตัวอย่าง:

$dsn = 'pgsql:host=localhost;port=5432;dbname=mydatabase;user=myuser;password=mypassword';

2.3. DSN สำหรับ SQLite

รูปแบบ DSN สำหรับ SQLite คือ:

sqlite:path/to/database.db

โดยที่:

  • sqlite: ระบุประเภทของฐานข้อมูลเป็น SQLite
  • path/to/database.db: ระบุ Path ไปยังไฟล์ฐานข้อมูล SQLite

ตัวอย่าง:

$dsn = 'sqlite:/path/to/mydatabase.db';

3. การตั้งค่า Username และ Password

เมื่อเรามี DSN แล้ว เราจะต้องระบุ Username และ Password ที่ใช้ในการเชื่อมต่อกับฐานข้อมูลด้วย โดยเฉพาะอย่างยิ่งสำหรับ MySQL และ PostgreSQL

เราจะใช้ Username และ Password เหล่านี้ในการสร้าง Instance ของ PDO Object ในบทถัดไป

ตัวอย่าง (MySQL):

$dsn = 'mysql:host=localhost;dbname=mydatabase;charset=utf8mb4';
$username = 'myuser';
$password = 'mypassword';

ข้อควรระวัง: อย่าเก็บ Username และ Password ไว้ใน Source Code โดยตรง โดยเฉพาะอย่างยิ่งหาก Source Code ของคุณถูกเก็บไว้ใน Public Repository เช่น GitHub ควรใช้ Environment Variables หรือ Configuration Files เพื่อเก็บข้อมูลเหล่านี้อย่างปลอดภัย

ในบทนี้ เราได้เรียนรู้วิธีการตรวจสอบ PDO Extension, การสร้าง DSN และการตั้งค่า Username และ Password ในบทถัดไป เราจะนำข้อมูลเหล่านี้มาใช้ในการสร้าง Instance ของ PDO Object และเชื่อมต่อกับฐานข้อมูลของเรา

Office.in.th Custom Service

Want to build or adapt a system from this structure?

Office.in.th designs and develops enterprise web applications, API integrations, and public- and private-sector management systems, with long-term support.

See our software development service