280 likes | 570 Views
การใช้ PHP ติดต่อฐานข้อมูลผ่าน ODBC. การติดต่อฐานข้อมูล ODBC. ODBC (Open Database Connectivity) เป็นรูปแบบการติดต่อฐานข้อมูลไมโครซอฟต์ Microsoft Access, Microsoft FoxPro, Visual FoxPro, dBase และ Excel ฐานข้อมูลอื่นๆ ที่มีไดร์เวอร์ติดตั้งกับระบบปฏิบัติการ. ฟังก์ชันที่ใช้ในการติดต่อ.
E N D
การใช้ PHP ติดต่อฐานข้อมูลผ่าน ODBC
การติดต่อฐานข้อมูลODBC • ODBC (Open Database Connectivity) เป็นรูปแบบการติดต่อฐานข้อมูลไมโครซอฟต์ • Microsoft Access, Microsoft FoxPro, Visual FoxPro, dBase และ Excel • ฐานข้อมูลอื่นๆ ที่มีไดร์เวอร์ติดตั้งกับระบบปฏิบัติการ
ฟังก์ชันที่ใช้ในการติดต่อฟังก์ชันที่ใช้ในการติดต่อ • odbc_connect()สำหรับการติดต่อODBCdata 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 BYfieldname 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สรุปคำสั่งและฟังก์ชันที่ใช้ในการติดต่อกับฐานข้อมูลผ่าน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สรุปคำสั่งและฟังก์ชันที่ใช้ในการติดต่อกับฐานข้อมูลผ่าน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และประมวลผล • การเขียนคำสั่งSQLแล้วสั่งประมวลผลโดยใช้ฟังก์ชัน odbc_exec()มีรูปแบบการดังนี้ SELECT field1, field2,…,fieldN FROMtblnameสำหรับเลือกฟิลด์ที่ต้องการ 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 wherecondition • ตัวอย่างexodbc19.phpเป็นการลบข้อมูลจากฐานข้อมูลด้วยคำสั่งSQL โดยตรง • ตัวอย่างexodbc20.phpเป็นการลบข้อมูลโดยการรับคีย์จากผู้ใช้
การแบ่งแสดงผลเป็นหน้า(Paging)การแบ่งแสดงผลเป็นหน้า(Paging) • ตัวอย่าง exodbc26.php