ฉันมักจะออกไปเที่ยวบริเวณน้ำเสมอ! ไม่มีบทความเผยแพร่! คราวนี้ฉันจะแบ่งปันบทความที่ฉันเคยเขียนก่อนหน้านี้กับคุณ! ฮ่าๆ นกเฒ่า หยุดอ่านซะ!
ADODB เป็นตัวย่อของ Active Data Objects Data Base ซึ่งเป็นส่วนประกอบฟังก์ชันระดับกลางสำหรับ PHP ในการเข้าถึงฐานข้อมูล
ข้อดีที่ใหญ่ที่สุดประการหนึ่งของการใช้ ADODB ก็คือ ไม่ว่าฐานข้อมูลส่วนหลังจะเป็นเช่นไรก็ตาม วิธีการเข้าถึงฐานข้อมูลจะเหมือนกัน นักพัฒนาและนักออกแบบไม่จำเป็นต้องเรียนรู้วิธีการเข้าถึงชุดอื่นสำหรับชุดฐานข้อมูลบางชุด ซึ่ง ลดภาระความรู้ของนักพัฒนาลงได้อย่างมาก ความรู้ในอดีตยังคงสามารถนำมาใช้ในอนาคตได้ และโค้ดโปรแกรมไม่จำเป็นต้องเปลี่ยนแปลงอย่างมีนัยสำคัญเมื่อมีการถ่ายโอนแพลตฟอร์มฐานข้อมูล
นี่คือตัวอย่างบทสรุปจากการศึกษาครั้งก่อนๆ
คัดลอกเนื้อหา PHP ไปยังคลิปบอร์ด
รหัส PHP:
<?php
include_once("libs/adodb/adodb.inc.php"); //ไฟล์ที่มี adodb
$db = NewADOConnection("mysql"); //ซึ่งวัตถุฐานข้อมูลที่จะสร้าง
$db->Connect("localhost", "root ", "root", "mysql") or die("ไม่สามารถเชื่อมต่อได้!"); //เชื่อมโยงไปยังฐานข้อมูล
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC; //กำหนดค่าให้กับตัวแปรส่วนกลาง ซึ่งบ่งชี้ว่าคุณสามารถสร้างอาร์เรย์ที่เชื่อมโยงได้ ด้านล่าง (ภาษาของฉันไม่ค่อยดี) )
$query = "SELECT * FROM user";
$result = $db->Execute($query) or die("Error in query: $query. " . $db->ErrorMsg());//(Execute รัน SQL)
while (!$result->EOF) {
echo $result->fields['use'] . $result->fields['pass'] .
$result->MoveNext();//movenext() อาร์เรย์เลื่อนลง
}//fields แสดงถึงอาร์เรย์ของฟิลด์
echo "n[" . $result->RecordCount() . " ระเบียนแถวถูกส่งคืน]n";
$db->Close();//ปิดลิงก์
-
ตัวอย่างนี้เป็นการดำเนินการฐานข้อมูลที่ง่ายที่สุดของ ADODB! หรือคุณสามารถเขียนคลาสเพื่อดำเนินการได้!
มีฟังก์ชันสามอย่างใน adodb, GetAll, GetOne และ GetRow
จริงๆ แล้ว GetAll เทียบเท่ากับการดำเนินการ แต่การส่งคืนเป็นอาร์เรย์ 2 มิติ สามารถทำงานร่วมกับ SMARTY ได้ดี
GetOne, GetRow คือการตรวจสอบว่ามีข้อมูลบางอย่างในฐานข้อมูลอยู่หรือไม่!
ฟังก์ชัน SelectLimit มีให้ใน ADODB!
เพราะบางคำสั่ง SQL อาจไม่รองรับเมื่อถ่ายโอนฐานข้อมูล! ADODB ใช้ selectlimit เพื่อช่วยเรานำไปใช้ในระดับล่างสุด!
ตัวอย่างเช่น:
$query = "SELECT * จากไลบรารี";
$result = $db->SelectLimit($แบบสอบถาม, 5, 3);
อีกประเด็นหนึ่งคือ ADODB มีกลไกการแคช
CacheExecute มีให้ ฮ่าๆ มาดูตัวอย่างกันดีกว่า!
รหัส PHP:
<?php
include("../libs/adodb/adodb.inc.php");
// ตั้งค่าเส้นทางการบันทึกแคช
$ADODB_CACHE_DIR = 'tmp';
//สร้างวัตถุอินสแตนซ์การเชื่อมต่อ mysql
$db = NewADOConnection("mysql");
// เปิดการเชื่อมต่อฐานข้อมูล
$db->Connect("localhost", "root", "root", "adodb") or die("ไม่สามารถเชื่อมต่อได้");
// สร้างและดำเนินการค้นหา
$query = "เลือก * จากผู้ใช้";
$result = $db->CacheExecute(300,$query) or die("SQL error: $query. " . $db->ErrorMsg());//CacheExecute(300,$query) วิธีนี้คือ 300 ซึ่ง หมายถึงแคชมีอยู่นานแค่ไหน
// สำรวจชุดระเบียนที่ส่งคืนและแสดงเนื้อหาของคอลัมน์ข้อมูล TITLE และ AUTHOR
ในขณะที่ (!$result->EOF) {
echo $result->fields[1] . " - " . $result->ฟิลด์ [2] .
$ผลลัพธ์->MoveNext();
}
// รับและแสดงจำนวนแถวบันทึกที่ส่งคืน
echo "n[" . $result->RecordCount() . " บันทึกแถวจะถูกส่งคืน]n"
;
$db->ปิด();
-
สิ่งที่ฉันรู้สึกสบายใจที่สุดคือมีวิธีการแปลง! rs2html();
รหัส PHP:
<html>
<หัว></หัว>
<ร่างกาย>
<?php
include_once('../libs/adodb/adodb.inc.php');
include_once("../libs/adodb/tohtml.inc.php");
// สร้างอ็อบเจ็กต์อินสแตนซ์การเชื่อมต่อ mysql
$db = NewADOConnection("mysql");
// เปิดการเชื่อมต่อฐานข้อมูล
$db->Connect("localhost", "root", "root", "user") or die("ข้อผิดพลาดในการเชื่อมต่อฐานข้อมูล");
// สร้างและดำเนินการสืบค้น
$query = "SELECT * จากไลบรารี";
$result = $db->Execute($query) or die("SQL error: $query. " . $db->ErrorMsg());
// คืนตารางในรูปแบบ HTML
echo rs2html($result);//ดูข้อมูลที่ส่งคืนในตารางด้วยตัวคุณเอง!
//ปิดการเชื่อมต่อฐานข้อมูล
$db->ปิด();
-
</ร่างกาย>
</html>
ต่อไปนี้เป็นวิธีการที่ใช้กันทั่วไปบางส่วน!
RecordCount() รับและแสดงจำนวนแถวบันทึกที่ส่งคืน
FieldCount() รับและแสดงจำนวนฟิลด์ที่ส่งคืน
Insert_ID() แสดง ID ที่แทรกที่ดีที่สุด
Affected_Rows() แสดงจำนวนแถวที่ได้รับผลกระทบหลังจากรัน SQL
GetMenu() สร้างเมนูแบบเลื่อนลง!
โอเค นั่นคือทั้งหมดที่ฉันสามารถสรุปได้! มีความรู้มากมายจริง ๆ !
ยังมีข้อบกพร่องอีกมากมาย! ฉันหวังว่านกเฒ่าจะไม่หัวเราะ!
ฉันจะเพิ่มมากขึ้นให้กับทุกคนในครั้งต่อไป!