ตอนที่ 4 PHP & PDO : เชื่อมต่อฐานข้อมูล MySQL

ตอนนี้เราได้สร้างฐานข้อมูลชื่อ “php_pdo” ขึ้นมาแล้วนะคะ
ภายในฐานข้อมูลมีตาราง 1 ตาราง ชื่อ “book
ในตาราง “book” มีข้อมูลอยู่จำนวนหลายแถว (row)

สิ่งที่เราจะทำต่อไปคือ “การเชื่อมต่อกับฐานข้อมูล

มาถึงตรงนี้เราต้องมองให้ออกนะคะว่า…
การพัฒนาโปรแกรมนั้น เราเก็บ “ข้อมูล” ออกจากตัว “โค้ดโปรแกรม
ตอนนี้เรากำลังจะเขียนโปรแกรม ด้วยภาษา “PHP
เพื่อ “เชื่อมต่อ” กับฐานข้อมูล “MySQL
ซึ่งที่ผ่านมาเราได้ใช้ “phpMyAdimin
ในการสร้างฐานข้อมูล สร้างตาราง และเพิ่มข้อมูลลงในตารางแล้ว

ตอนนี้เราจะใช้ภาษา “PHP” เชื่อมต่อกับฐานข้อมูลที่สร้างขึ้นมา
ซึ่งภาษานี้มีไลบรารี่ (Library) ชื่อว่า “PDO” (PHP Data Object)
ที่มีหน้าที่ในการจัดการเรื่องการทำงานกับระบบฐานข้อมูล
PDO” สามารถเชื่อมต่อกับฐานข้อมูลได้หลากหลาย
และมีเมธอดต่าง ๆ ให้เราเรียกใช้งานได้แบบง่าย ๆ

ในการเชื่อมต่อฐานข้อมูลเราทำได้อย่างง่ายดายคือ
สร้าง Instance ของ PDO ขึ้นมาแล้วส่ง DNS (Data Source Name)
ซึ่งก็คือ ชื่อโฮส์ (host) และชื่อฐานข้อมูล (database) ไปให้
พร้อมกับส่ง ชื่อผู้ใช้ฐานข้อมูล และรหัสผ่านไปให้ด้วย
ตามโค้ดดังนี้ *พยายามอ่านโค้ดให้เข้าใจนะคะ เราจะคอมเมนต์เท่าที่จำเป็นเท่านั้น
อยากให้ฝึกอ่านโค้ดด้วยค่ะ ในชีวิตการทำงานจริงทักษะนี้จำเป็นมาก*

เมื่อเปิดเว็บบราวเซอร์ (web browser) ดูจะได้ผลลัพธ์ดังนี้

mystou-com-php-pdo-4-1

ถ้าไม่สามารถเชื่อมต่อฐานข้อมูลได้ให้ตรวจสอบค่าต่าง ๆ ให้ถูกต้องนะคะ
เช็คตัวแปร แล้วกำหนดค่าตามเครื่องของตัวเองค่ะ

กรณีรหัสผ่านไม่ถูกต้องจะมีข้อผิดพลาด (error) แบบนี้ค่ะ

mystou-com-php-pdo-4-2


เรื่องที่เกี่ยวข้อง
PHP and PDO Basic : แบบ 1 ตาราง
ตอนที่ 1 phpMyAdmin : สร้างฐานข้อมูล (Database)
ตอนที่ 2 phpMyAdmin : สร้างตาราง (Table)
ตอนที่ 3 phpMyAdmin : เพิ่มข้อมูลลงในตาราง (INSERT)
ตอนที่ 4 PHP & PDO : เชื่อมต่อฐานข้อมูล MySQL
ตอนที่ 5 PHP & PDO : การดึงข้อมูลในตารางมาแสดงผลทั้งหมด fetchAll()
ตอนที่ 6 PHP & PDO : การดึงข้อมูลจากตารางมาแสดงผลทีละแถว fetch()
ตอนที่ 7 SQL : การเรียงผลลัพธ์
ตอนที่ 8 PHP & PDO : การกำหนดค่า fetch_style
ตอนที่ 9 PHP & PDO : การดึงข้อมูลตามเงื่อนไข prepare()
ตอนที่ 10 PHP & PDO : การใช้ตัวเก็บค่าที่ไม่มีชื่อ (?)


ธมนวรรณ มณีจันทร์

ธมนวรรณ มณีจันทร์

|:- เราเชื่อมั่นว่าการเสียสละและการแบ่งปันจะทำให้โลกใบนี้สวยงามมากขึ้น ทุกๆ จุดเริ่มต้นของการเรียนรู้ นำไปสู่การเรียนรู้ถัดไป เว็บไซต์แห่งนี้ขอเป็นส่วนหนึ่งของการแบ่งปันความรู้ที่ไม่มีที่สิ้นสุด มาร่วมกันผลักดันโลกของเราให้หมุนไปพร้อมกับพลังแห่งความรักด้วยกันนะคะ :) >>> |:- About Me! -:|