การใช้ PHP ติดต่อฐานข้อมูลผ่าน ODBC
การติดต่อฐานข้อมูล ODBC ODBC (Open Database Connectivity) เป็นรูปแบบการติดต่อฐานข้อมูลไมโครซอฟต์ Microsoft Access, Microsoft FoxPro, Visual FoxPro, dBase และ Excel ฐานข้อมูลอื่นๆ ที่มีไดร์เวอร์ติดตั้งกับระบบปฏิบัติการ
ฟังก์ชันที่ใช้ในการติดต่อ odbc_connect() สำหรับการติดต่อ ODBC data source ซึ่งต้องใช้ Data Source Name(DSN), ชื่อผู้ใช้ และรหัสผ่าน odbc_prepare() สำหรับเตรียมสร้างคำสั่ง SQL เพื่อการเอ็กซิคิวต์ odbc_execute() สำหรับเอ็กซิคิวต์คำสั่ง SQL odbc_result_all() สำหรับแสดงผลลัพธ์ในรูปแบบตารางของ HTML
ฟังก์ชันที่ใช้ในการติดต่อ odbc_free_result() สำหรับปล่อยให้ resourceเป็นอิสระจากการติดต่อ odbc_close() สำหรับปิดการติดต่อที่กำลังดำเนินอยู่ในปัจจุบัน
ขั้นตอนการติดต่อกับฐานข้อมูล 1. สร้างส่วนเชื่อมต่อกับฐานข้อมูลด้วยคำสั่ง odbc_connect() ดังนี้ $connection = odbc_connect(“DataSourceName”,”username”,”password”) or die(“ติดต่อ DataSource ไม่ได้”); โดยที่ $connection คือตัวแปรที่ใช้ติดต่อ Datasource DataSourceName คือชื่อ Data Source Name
ขั้นตอนการติดต่อกับฐานข้อมูล Username คือชื่อผู้ใช้ Password คือรหัสผ่านสำหรับการเข้าใช้ฐานข้อมูล Die() คือ ฟังก์ชันที่ใช้ในการแจ้งข่าวสาร เมื่อติดต่อเซิร์ฟเวอร์ไม่ได้และออกจากสคริปต์โดยไม่มีการดำเนินการใด ๆ เพิ่มเติม
ขั้นตอนการติดต่อกับฐานข้อมูล 2. สร้างคำสั่ง SQL เพื่อนำข้อมูลมาแสดงผล โดยมีรูปแบบคำสั่งดังนี้ $sql = “SELECT field 1, field 2,…, fieldn FROM tablename ORDER BY fieldname strorder”; $sql คือตัวแปรที่เก็บคำส่ง SQL field 1, field 2,…., fieldn คือ ชื่อฟิลด์ที่ต้องการใช้ (ถ้าเลือกทุกฟิลด์ใช้คำสั่ง select *)
ขั้นตอนการติดต่อกับฐานข้อมูล tablename คือ ชื่อตารางที่อยู่ในฐานข้อมูลนั้น fieldname คือ ชื่อ ฟิลด์ที่ต้องการเรียงลำดับ strorder คือ รูปแบบการเรียงข้อมูล ไก้แก่ ASC (เรียงจากน้อยไปมาก) และ DESC (เรียงจากมากไปน้อย)
ขั้นตอนการติดต่อกับฐานข้อมูล 3. สร้างตัวแปรเพื่อเก็บคำสั่ง SQL ที่เตรียมไว้ โดยใช้ฟังก์ชัน odbc_prepare() ซึ่งมีรูปแบบของคำสั่งดังนี้ $sql_statement = odbc_prepare($connection,$sql) or die(“เตรียมคิวรีไม่ได้”);
ขั้นตอนการติดต่อกับฐานข้อมูล 4.สร้างตัวแปรเพื่อเก็บผลของคิวรีที่ประมวลผลด้วยฟังก์ชัน odbc_execute() ซึ่งมีรูปแบบดังนี้ $sql_result = odbc_execute($sql_statement) or die(“ประมวลผล สั่งไม่ได้”); 5.เป็นขั้นตอนนำข้อมูลไปประมวลผลเช่นการแสดงผลในลักษณะตารางของ HTML ด้วยฟังก์ชัน odbc_result_all() ซึ่งมีรูปแบบดังนี้ odbc_resolt_all($sql_result, “border=1”);
ขั้นตอนการติดต่อกับฐานข้อมูล 6.เป็นขั้นตอนการปล่อยอิสระResourceจากการติดต่อ และปิดการติดต่อ โดยฟังก์ชัน odbc_free_result() และ odbc_close() มีรูปแบบดังนี้ odbc_free_result($sql_result); odbc_close($connection);
สรุปคำสั่งและฟังก์ชันที่ใช้ในการติดต่อกับฐานข้อมูลผ่าน ODBC <?php // เริ่มการติดต่อ data source $connection = odbc_connect(“DataSourceName”, “username”,”password”) or die(“ติดต่อ data source ไม่ได้”); // สร้าคำสั่ง SQL $sql = “SELECT field1,field2 FROM database_name ORDER BY field_name”;
สรุปคำสั่งและฟังก์ชันที่ใช้ในการติดต่อกับฐานข้อมูลผ่าน ODBC // เตรียมคำสั่ง SQL $sql_statement = odbc_prepare($connection,$sql) or die(“เตรียมคิวรีไม่ได้”) // แสดงผลลัพธ์ในรูปแบบตาราง HTML odbc_result_all($sql{resuslt, “border=1” // ปล่อยให้resourceเป็นอิสระจากการติดต่อ และปิดการติดต่อ odbc_free_result($sql_result); odbc_close($connection); ?>
การเขียนโปรแกรมแสดงผล มีขั้นตอนดังนี้ 1. เริ่มติดต่อฐานข้อมูล 2. เขียนคำสั่ง SQL และเอ็กซิคิวต์ 3. แสดงข้อมูล 4. ปิดการติดต่อฐานข้อมูล
ติดต่อฐานข้อมูล ใช้ฟังก์ชัน odbc_connect() ซึ่งมีรูปแบบดังนี้ odbc_connect($dsn, $user, $password) or die(“message”) โดยที่ $dsn คือข้อความที่เป็นชื่อ DSN $user คือชื่อล็อกอิน $password คือ รหัสผ่านสำหรับเข้าใช้ฐานข้อมูลตามที่กำหนดใช้ DSN or die(“message”) คือข้อความเพื่อแจ้งว่าติดต่อฐานข้อมูลไม่ได้
ตัวอย่าง การติดต่อฐานข้อมูลผ่าน ODBC ทาง DSN ที่ชื่อ bookshop โดยไม่มีชื่อผู้ใช้และรหัสผ่าน $dsn = “bookshop” $user = “”; $pass = “”; $connect = odbc_connect($dsn, $user, $pass);
เขียนคำสั่ง SQL และประมวลผล การเขียนคำสั่ง SQL แล้วสั่งประมวลผล โดยใช้ฟังก์ชัน odbc_exec() มีรูปแบบการดังนี้ SELECT field1, field2,…,fieldN FROM tblname สำหรับเลือกฟิลด์ที่ต้องการ SELECT * FROM tblname สำหรับเลือกทุกฟิลด์ โดยที่ field1, field2,…,fieldN คือชื่อฟิลด์ที่ต้องการแแสดงข้อมูล * แทนการเลือกทุกฟิลด์ tblname คือชื่อตารางที่ต้องการใช้
ตัวอย่าง $sql = “select * from book; odbc_exec($connect, $sql); //ในกรณีสั่งเอ็กซิคิวต์โดยตรง $exec = odbc_exec($connect, $sql); //ในกรณีเก็บเป็นตัวแปรเพื่อแสงดค่าฟิลด์ต่าง ๆ
การแสดงผลในรูปแบบตาราง ใช้ฟังก์ชัน odbc_result_all() ซึ่งมีรูปแบบดังนี้ odbc_result_all($exec, “border = 1”); โดยที่ $exec คือตัวแปรที่เก็บการเอ็กซิคิวต์คำสั่ง SQL การปิดการติดต่อฐานข้อมูล โดยใช้คำสั่ง odbc_free_result() และ odbc_close() ดังนี้ odbc_free_result($exec); odbc_close($connect); โดยที่ $exec คือตัวแปรที่เก็บการเอ็กซิคิวต์คำสั่ง SQL $connect คือตัวแปรที่เก็บการติดต่อ
ตัวอย่าง ตัวอย่าง exodbc01.php เป็นคำสั่งที่ติดต่อฐานข้อมูลผ่าน DSN ที่ชื่อ Bookshop แสดงข้อมูลแบบตาราง
การแสดงชื่อและจำนวนฟิลด์ ใช้ฟังก์ชัน odbc_num_field(), odbc_field_name() และ odbc_field_type() ตามลำดับ ตัวอย่าง exodbc02.php เป็นตัวอย่างที่ได้ผลลัพธ์แสดงจำนวน, ชื่อ และประเภทฟิลด์ในตาราง
การแสดงจำนวนระเบียนข้อมูล ใช้ฟังก์ชัน odbc_num_row() ดังตัวอย่าง <?php $dsn = “bookshop”; // กำหนดชื่อ DSN $user = “”; // กำหนดชื่อล็อกอิน $pass = “”; // กำหนดรหัสผ่าน $connect = odbc_connect($dsn, $user, $pass) or die (“ติดต่อ DSN ไม่ได้”); // เริ่มติดต่อฐานข้อมูล $sql = “select * from book”; // กำหนดคำสั่ง SQL เพื่อแสดงข้อมูล $exec = odbc_exec($connect, $sql); // เริ่มเอ็กซิคิวต์คำสั่ง SQL $num_rows = odbc_num_rows($exec); // ตัวแปรจำนวนเรกคอร์ด echo “ตาราง Book มีจำนวนเรกคอร์ด = <Font color = red>”. $num_rows; odbc_close($connect); // ปิดการเชื่อมต่อ ?>
การแสดงข้อมูลทั้งหมดโดยการเลื่อนพอยน์เตอร์ ฟังก์ชัน odbc_fetch_row() ใช้การเลื่อนพอยน์เตอร์ ตัวอย่าง exodbc04.php
การเพิ่มข้อมูล ใช้คำสั่ง insert into มีรูปแบบคือ insert into tbname (field1, field2,…, fieldn) values (‘val1’, ‘val2’, ‘val3’,…, ‘valn’); ตัวอย่าง exodbc05.php การเพิ่มข้อมูลโดยพิมพ์ข้อมูลในคำสั่ง sql exodbc06.php การเพิ่มข้อมูลโดยใช้คำสั่ง sqlและฟอร์ม
โปรแกรมค้นหาข้อมูล การค้นหาด้วย PHP มี 2 วิธีคือ การค้นหาข้อมูลโดยการใช้คำสั่ง SQL ตรง ๆ การค้นหาข้อมูลโดยการให้ผู้ใช้กรอกคำสั่งที่ต้องการค้นหา ทั้ง 2 วิธีจะใช้คำสั่ง select * form tblname where condition ตัวอย่าง exodbc08.php ตัวอย่าง exodbc09.php, exodbc10.php
การแก้ไขข้อมูล การค้นหาด้วย PHP มี 2 วิธีคือ การแก้ไขข้อมูลโดยการใช้คำสั่ง SQL ตรง ๆ การแก้ไขข้อมูลโดยให้ผู้ใช้กรอกข้อมูลผ่านฟอร์มแล้ว ส่งค่าไปแก้ไขข้อมูลในฐานข้อมูล ทั้ง 2 วิธีจะใช้คำสั่ง UPDATE tblname SET field1 = ‘new_value’ , field2 = ‘new_value’ , … WHERE condition; ตัวอย่าง exodbc11.php ตัวอย่าง exodbc12.php, exodbc13.php, exodbc14.php
การลบข้อมูล ใช้คำสั่ง delete มีรุปแบบดังนี้ Delete from tblname where condition ตัวอย่าง exodbc19.php เป็นการลบข้อมูลจากฐานข้อมูล ด้วยคำสั่ง SQL โดยตรง ตัวอย่าง exodbc20.php เป็นการลบข้อมูลโดยการรับคีย์จากผู้ใช้
การแบ่งแสดงผลเป็นหน้า (Paging) ตัวอย่าง exodbc26.php