Home
Main Page

PHP Basic
Introduction
Syntax
Variables
Operators
If...Else
Switch
Arrays
Looping
Functions
Forms
GET
POST

PHP Advanced
Date
Include
File
File Upload
Cookies
Sessions
Mail
Secure Mail

MySQL Database
Introduction
Connect
Create
Insert
Select
Where
Order By
Update
Delete

PHP Database
ODBC

PHP Reference
PHP Manual

PHP Database ODBC



ODBC ย่อมาจาก Open DataBase Connectivity เป็น Application Programming Interface (API) คือ มาตราฐานในการเข้าถึงข้อมูลที่ถูกกำหนดขึ้น ที่อนุญาตให้คุณเชื่อมต่อฐานข้อมูลอื่นๆ ได้ ซึ่ง ODBC เป็นเสมือนตัวกลางระหว่างโปรแกรมที่เราใช้งาน กับฐานข้อมูลเหล่านั้น เช่น MS Access

สร้างการเชื่อมต่อแบบ ODBC
การเชื่อมต่อแบบ ODBC คุณสามารถเชื่อมต่อได้กับหลายฐานข้อมูลบนคอมพิวเตอร์ในเครือข่ายของคุณเองได้ ฐานข้อมูลส่วนใหญ่ที่ใช้การเชื่อมต่อแบบนี้ คือ MS Access มาดูขั้นตอนการเชื่อมต่อฐานข้อมูลกัน:

  1. เปิด Control Panel แล้วเลือกที่ไอคอน Administrative Tools
  2. ดับเบิ้ลคลิ้กที่ไอคอน Data Sources (ODBC)
  3. เลือกแท็ป System DSN แล้วคลิ้กปุ่ม Add
  4. เลือก Microsoft Access Driver แล้วคลิ้กปุ่ม Finish
  5. ตั้งชื่อ Data Source และคำอธิบายลงไปในช่อง แล้วคลิ้ก OK
  6. ในหน้าถัดไป ให้คลิ้กปุ่ม Select เลือกฐานข้อมูลที่เราต้องการเชื่อมต่อ
  7. หากมีการใช้ไฟล์บริหารกลุ่มงาน (MS Access Workgroup Administrator) เพื่อดูแลและกำหนดสิทธิของผู้ใช้ในการเข้าถึงข้อมูลและส่วนต่างๆในฐานข้อมูลแล้ว จะต้องมีการระบุชื่อไฟล์นั้นไว้ในการสร้าง DSN นี้ด้วย โดยเลือกออปชั่น Database ในกรอบ System Database
  8. คลิ้กปุ่ม System Database เพื่อเลือกไฟล์บริหารกลุ่มงาน
  9. คลิ้ก OK แล้วปิด ODBC MS Access Setup ด้วยการคลิ้ก OK อีกครั้ง จะปรากฎ Data Source ที่สร้างขึ้นใหม่
  10. คลิ้ก OK เพื่อปิด ODBS Data Source Administrator เป็นอันจบกระบวณการ
การเซ็ทคอนฟิกูเรชั่นต้องทำบนเครื่องคอมพิวเตอร์ที่เว็ปไซต์ตั้งอยู่เท่านั้น ถ้าคุณรัน IIS บนเครื่อง PC ของคุณเอง ก็ใช้วิธีที่กล่าวข้างบนได้ แต่ถ้าเว็ปไซต์ของคุณอัพไปเซิร์ปเวอร์แล้ว ต้องไปเซ็ทที่ Control Panel ของเซิร์ปเวอร์นั้นๆ ซึ่งต้องถามทางโฮสติ้งที่คุณใช้อยู่

วิธีเชื่อมต่อ ODBC

จะคล้ายๆ กับวิธีเชื่อมต่อฐานข้อมูล MySQL แต่ชื่อฟังก์ชั่นจะต่างกัน โดยจะใช้ฟังก์ชั่น odbc_connect() ในการเชื่อมต่อผ่าน ODBC จะมี 4 พารามิเตอร์ คือ ชื่อ Data Source, ชื่อผู้ใช้, รหัสผ่าน และชนิดของเคอร์เซอร์ [ไม่มีก็ได้] จะมี Syntax ดังนี้

ODBC_CONNECT('Data Source Name','Username','Password');
ถ้าการเชื่อมต่อไม่สำเร็จจะคืนค่า Connection ID กลับมาเป็นค่า 0 หมายถึง False

เมื่อเชื่อมต่อฐานข้อมูลได้แล้ว การดำเนินการใดๆ กับฐานข้อมูลจะใช้ฟังก์ชั่น odbc_exec() โดยระบุคำสั่ง SQL ลงไป ดังตัวอย่างจะใช้ DSN ชื่อว่า sanook

$con=odbc_connect('sanook','','');
$sql="SELECT * FROM customers"; 
$rs=odbc_exec($con,$sql);

ฟังก์ชั่นสำคัญต่างๆ

ฟังก์ชั่น odbc_fetch_row() เป็นการดึงแถว หรือเรคอร์ดออกมา ถ้ามีค่าแสดงออกมาจะเป็น true ไม่เช่นนั้นจะเป็น false โดยมีพารามิเตอร์ 2 ตัว คือ ค่า ID ของผลลัพธ์ที่ได้จากฟังก์ชั่น odbc_exec() และหมายเลขแถวที่ต้องการดึงข้อมูล หากไม่ระบุจะทำการดึงแถวถัดไป ซึ่งมี syntax ดังนี้

odbc_fetch_row(result _id, row_number)

ฟังก์ชั่น odbc_result() เป็นการอ่านค่าในฟิลด์ของรายการผลลัพธ์ มี 2 พารามิเตอร์ คือ ค่า ID ของผลลัพธ์ที่ได้จากฟังก์ชั่น odbc_exec() และหมายเลขฟิลด์ที่ต้องการอ่านค่า โดยฟิลด์แรกจะมีหมายเลขเป็น 1 โค้ดข้างล่างจะให้ค่าฟิลด์แรกของเรคอร์ด

odbc_result($rs,1);

หรือ คุณสามารถใส่ชื่อของฟิลด์แทนหมายเลขฟิลด์ ก็ได้ แบบนี้

odbc_result($rs,"FirstName");

และจบด้วยปิดการเชื่อมต่อกับฐานข้อมูล ด้วยฟังก์ชั่น odbc_close()

odbc_close($con);

ตัวอย่างการเชื่อมต่อแบบ ODBC

ตัวอย่างข้างล่างนนี้จะแสดงการเชื่อมต่อกับฐานข้อมูลก่อน จนถึงการแสดงข้อมูลออกมาในรูปแบบตาราง HTML

<html>
<body>
<?php
$con=odbc_connect('sanook','','');
if (!$conn)
  {exit("เชื่อมต่อฐานข้อมูลไม่ได้: " . $con);}
$sql="SELECT * FROM customers";
$rs=odbc_exec($con,$sql);
if (!$rs)
  {exit("คำสั่ง SQL ผิดพลาด");}
echo "<table><tr>";
echo "<th>FirstName</th>";
echo "<th>LastName</th></tr>";
while (odbc_fetch_row($rs))
{
  $firstname=odbc_result($rs,"FirstName");
  $lastname=odbc_result($rs,"LastName");
  echo "<tr><td>$firstname</td>";
  echo "<td>$lastname</td></tr>";
}
odbc_close($con);
echo "</table>";
?>
</body>
</html>



Related Sites
php.net
mysql
phpMyAdmin
apache
thainuke
microsoft
linux
PostgreSQL
Zend Technologies
CentOS

Special Thanks
ohohost.com
w3schools.com

Advertise




Power By



 
2279213







Copyright 2006 by Phpstreet. All Rights Reserved.