เมื่อเร็วๆ นี้ ฉันใช้เวลามากกว่า 10 วันในการเขียนบล็อก Kimchi ใหม่โดยใช้เทคโนโลยี PHP5+SQLITE เหตุผลก็คือการจัดการ MYSQL นั้นยุ่งยากมากและคุณต้องเสียเงินเพื่อซื้อฐานข้อมูลเพิ่มเติม
SQLite เป็นฐานข้อมูลแบบฝังแบบไฟล์ขนาดเล็กที่เกิดขึ้นในปี 2000 หลังจากพัฒนามานานกว่า 7 ปี ฐานข้อมูลดังกล่าวก็กลายเป็นฐานข้อมูลแบบฝังที่ได้รับความนิยมมากที่สุดในปัจจุบัน บริษัทต่างๆ รวมถึง Google ก็ใช้ฐานข้อมูลนี้ในซอฟต์แวร์เดสก์ท็อปของตน SQLite ก็ใช้ในการจัดเก็บเช่นกัน ข้อมูลผู้ใช้ จากนี้จะเห็นได้ว่าไม่มีเหตุผลที่จะสงสัยในความเสถียรของ SQLite (ย่อหน้านี้มาจาก Lanyu Design)
แล้วจะใช้มันใน PHP5 ได้อย่างไร มี 2 วิธีในการเชื่อมต่อกับ SQLite ใน PHP5 อันหนึ่งมีให้ตามค่าเริ่มต้นและอีกอันคือคลาส PDO ค่าเริ่มต้นรองรับ sqlite2 เท่านั้น แต่ PDO สามารถรองรับ sqlite3 ทางอ้อมได้ ด้านล่างนี้เป็นคลาส PDO ธรรมดาที่ฉันเขียนซึ่งเข้ากันได้กับ 2 เวอร์ชัน
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
คลาส SQLite{
ฟังก์ชั่น __ สร้าง ($ ไฟล์) {
พยายาม{
$this->Connection=new PDO('sqlite2:'.$file);
} จับ (PDOException $e){
พยายาม{
$this->Connection=new PDO('sqlite:'.$file);
} จับ (PDOException $e){
exit('ข้อผิดพลาด!');
-
-
-
ฟังก์ชั่น __ ทำลาย () {
$นี่->การเชื่อมต่อ=null;
-
ฟังก์ชันแบบสอบถาม($SQL){
ส่งคืน $this->Connection->Query($SQL);
-
ฟังก์ชั่นดำเนินการ($SQL){
ส่งคืน $this->Query($SQL)->fetch();
-
ฟังก์ชั่น RecordArray($SQL){
ส่งคืน $this->Query($SQL)->fetchAll();
-
ฟังก์ชั่น RecordCount($SQL){
จำนวนการส่งคืน($this->RecordArray($SQL));
-
ฟังก์ชั่น RecordLastID(){
ส่งคืน $this->Connection->lastInsertId();
-
-
จากนั้นสร้างอินสแตนซ์ หากไม่มีฐานข้อมูล ฐานข้อมูลก็จะถูกสร้างขึ้นโดยอัตโนมัติ
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
$DB=new SQLite('blog.db'); // ชื่อของไฟล์ฐานข้อมูลนี้เป็นชื่อที่กำหนดเอง
สร้างตารางฐานข้อมูล
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
$DB->Query("สร้างการทดสอบตาราง(id integer primary key,title varchar(50)");
ต่อไปก็เพิ่มข้อมูล
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
$DB->Query("ใส่ค่าทดสอบ(ชื่อ)('กิมจิ')");
$DB->Query("insert into test(title)values('Blue Rain')");
$DB->Query("ใส่ค่าทดสอบ(ชื่อ)('Ajan')");
$DB->Query("ใส่ค่าทดสอบ(ชื่อ)('Aoxuelantian')");
จากนั้นก็ถึงเวลาอ่านข้อมูล นั่นคือวงจร
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
$SQL='เลือกชื่อจากลำดับการทดสอบโดย id desc';
foreach($DB->แบบสอบถาม($SQL) เป็น $RS){
echo $RS['ชื่อ'];
-
SQLITE อาจเล็กกว่าสำหรับองค์กร แต่เป็นสิ่งที่ดีจริงๆ สำหรับบุคคล และการพกพาได้ดีมาก
ระดับของฉันมีจำกัด โปรดแก้ไขฉันหากมีข้อผิดพลาดในเนื้อหาข้างต้น ขอบคุณ!