Thaimisc.com : PHP กับฐานข้อมูล MySQL (11)
ThaiMisc.Com : Free Webboard | Free GuestBook | Free Poll | Free Ecard Server | Free Java Chat Room | Advertising | Contact Us | Colocation | Web Hosting | เปิดร้านค้าฟรี


Category : Php Developer Print Article Only Print Aticle With Comment
PHP กับฐานข้อมูล MySQL (11)
เขียนโดย เดอะกาฝากไดอารี่ (ball@bbznet.com) , 20-05-2004
ครบกำหนด 7 วันพอดี ฮ่า ฮ่า... กลับมาอัพเดตบทความต่อแล้วครับ ต้องขออภัยจริงๆ ครับ กำลังติดอยู่กับโปรเจ็คใหม่ของผมน่ะ อิอิ

คราวที่แล้วผมได้พูดไปถึงการแทรกข้อมูล (insert) และการสืบค้นข้อมูล (query) ไปแล้วว่ามีรูปแบบคำสั่งเป็นอย่างไร มาคราวนี้เรามาลองเริ่มต้นกับการเขียนโค้ด PHP ที่ใช้สำหรับการแทรกข้อมูล และสืบค้นข้อมูลกันจริงๆ ซักทีดีกว่าไหมครับ

ฟังก์ชันที่ต้องจำขึ้นใจ
จริงๆ แล้ว PHP สามารถเชื่อมต่อกับฐานข้อมูลได้แทบทุกชนิดครับ ขอให้มันสนับสนุน ODBC (ย่อมาจาก Open Database Connectivity เป็นไดรเวอร์ที่เหมือนเป็นตัวแปลเอาไว้คอยสื่อสารระหว่างแอปพลิเคชั่น กับฐานข้อมูลให้คุยกันรู้เรื่อง ทำให้ผู้พัฒนาโปรแกรม ไม่จำเป็นต้องไปเรียนรู้ฟังก์ชันสำหรับการเชื่อมต่อกับฐานข้อมูลที่หลากหลาย เพราะใช้ฟังก์ชันพื้นฐานของ ODBC ก็สามารถเชื่อมต่อได้เป็นส่วนใหญ่แล้ว) ก็พอ

แต่ MySQL เป็นข้อยกเว้นครับ เพราะว่า PHP นั้นได้เตรียมฟังก์ชันสำหรับการเชื่อมต่อกับ MySQL โดยตรงเอาไว้แล้ว ซึ่งข้อได้เปรียบก็คือ จะทำให้มีความรวดเร็วในการประมวลผลมากกว่า เนื่องจากไม่ต้องไปเสียเวลารอ ODBC เป็นตัวกลางนั่นเอง

ในบรรดาฟังก์ชันที่เกี่ยวข้องกับ MySQL นั้น ฟังก์ชันพื้นฐานที่เราควรจะเข้าใจ และจำให้แม่นๆ เลยก็มีดังนี้ครับ

mysql_connect()
เป็นคำสั่งที่ใช้เชื่อมต่อกับ MySQL ครับ ก่อนที่เราจะใช้ฟังก์ชันอื่นๆ ได้นั้น จำเป็นที่เราจะต้องทำการเชื่อมต่อกับฐานข้อมูล MySQL ให้เรียบร้อยเสียก่อน ซึ่งรูปแบบการใช้งานจะเป็นยังไงนั้นผมขอยกตัวอย่างให้ดูเลยก็แล้วกัน

สิ่งที่เราต้องรู้เกี่ยวกับฐานข้อมูล เพื่อใช้ในฟังก์ชันนี้ก็คือ

  • IP Address หรือ โดเมนเนม ของ MySQL Server และพอร์ตที่ใช้งาน
  • Username ที่ใช้สำหรับเชื่อมต่อกับฐานข้อมูล
  • Password ที่ใช้สำหรับเชื่อมต่อกับฐานข้อมูล

ทีนี้สมมติว่าผมลองเล่นกับเว็บเซิร์ฟเวอร์บนเครื่องคอมพิวเตอร์ของตัวเองก็แล้วกัน ซึ่งมีข้อมูลทั้งสามที่กล่าวไปดังนี้

  • IP Address/โดเมนเนม = localhost
  • Username = root
  • Password = ค่าว่าง (หมายถึง ไม่ต้องใส่ password นั่นแหละ)

ผมก็จะเขียนโค้ดแบบนี้ครับ

<?php

mysql_connect("localhost", "root", "") or die("ไม่สามารถเชื่อมต่อกับโฮสต์ได้");

?>

มี 2 อย่างที่อยากอธิบายตรงนี้ก็คือ

1. คำว่า localhost นั้นมีค่าเท่ากับ IP Address คือ 127.0.0.1 ซึ่งเป็น loop address ที่มีไว้เพื่อให้ข้อมูลวิ่งกลับมายังเครื่องตัวเอง... พูดง่ายๆ ก็คือหากเรากำหนดโดเมนเนมเป็น localhost ก็เท่ากับบอกว่า MySQL server นั้น อยู่บนเครื่องคอมพิวเตอร์เครื่องเดียวกับที่รันเว็บเซิร์ฟเวอร์นั่นเอง (ซึ่งเซิร์ฟเวอร์จำลองเฉพาะกิจ ที่ใช้สำหรับหัดเขียน PHP ของเรานี้เป็นแบบนั้น คือมีทั้งเว็บเซิร์ฟเวอร์ Apache และ MySQL ในตัวเดียวกัน)... โฮสต์ราคาประหยัดที่มีบริการ MySQL server ด้วย ส่วนมากก็จะเป็นแบบนี้เช่นกัน ดังนั้นหากเราไม่รู้ IP Address หรือ โดเมนเนมของ MySQL server เลย ค่า localhost ก็เป็นค่านึงที่น่าจะลองใส่

2. สังเกตว่าหลังฟังก์ชัน ผมต่อด้วย or die ("ไม่สามารถเชื่อมต่อกับโฮสต์ได้") มันหมายความว่าหากฟังก์ชัน mysql_connect() ไม่สามารถที่จะเชื่อมต่อกับ MySQL server ได้ ไม่ว่าจะด้วยกรณีใดก็ตาม ก็ให้จบการทำงานของโค้ดทั้งหมด แล้วแสดงข้อความว่า "ไม่สามารถเชื่อมต่อกับโฮสต์ได้" ออกมาครับ

แหม เขียนมาซะยาวยืด ดันพูดถึงฟังก์ชันได้แค่ตัวเดียว... งั้นจะอัพเดตตอนต่อไปเร็วหน่อยก็แล้วกัน แต่ว่าตอนนี้ขอลาแต่เพียงเท่านี้ก่อนครับ

(ติดตามตอนต่อไป)

<- Back | Next ->

ThaiMisc.Com : Free Webboard | Free GuestBook | Free Poll | Free Ecard Server | Free Java Chat Room | Advertising | Contact Us
Copyright 1999-2006 Thailand Miscellaneous. Allrights reserved. webmaster@thaimisc.com