███████╗ ██╗ ██╗███████╗ ...vvvv)))))).
██╔═══██╗██║ ██║██╔════╝ /~~ ,,,c(((((((((((((((((/
██║██╗██║██║ ██║█████╗ /~~c . .vv)))))))))))))))))))``
███████╔╝██║ ██║██╔══╝ G_G__ ,,(((KKKK//////////////'
╚═██╔═╝ ╚██████╔╝███████╗ ,Z~__ '@,gW@@AKXX~MW,gmmmz==m_.
╚═╝ ╚═════╝ ╚══════╝ iP,dW@!,A@@@@@@@@@@@@@@@A` ,W@@Ac
██████╗ ███████╗███████╗ ]b_.__zf !P~@@@@@*P~b.~+=m@@@*~ g@Ws.
██╔══██╗██╔════╝██╔════╝ ~` ,2W2m. '[ ['~~c'M7 _gW@@A`'s
██████╦╝█████╗ █████╗ v=XX)====Y- [ [ c/*@@@*~ g@@i
██╔══██╗██╔══╝ ██╔══╝ /v~ !.!. 'c7+sg@@@@@s.
██████╦╝███████╗███████╗ // 'c'c 'c7*X7~~~~
╚═════╝ ╚══════╝╚══════╝ ]/ ~=Xm_ '~=(Gm_.
แพ็คเกจQᴜᴇᴇBᴇᴇ (QB) หรือ Query Builder เป็นแพ็คเกจที่มีน้ำหนักเบาสำหรับการสร้างแบบสอบถาม MySQL มันเป็นแพ็คเกจ PHP ที่ทำให้การสร้างแบบสอบถาม SQL ง่ายขึ้น มันมีวิธีการเชิงวัตถุในการสร้างแบบสอบถาม SQL ทำให้ง่ายต่อการสร้างแก้ไขและดำเนินการคำสั่ง SQL ในแอปพลิเคชัน PHP ของคุณ
สามารถติดตั้ง Quebee ผ่าน Composer ผู้จัดการการพึ่งพา PHP หากคุณยังไม่ได้ติดตั้งนักแต่งเพลงให้เยี่ยมชมเว็บไซต์ของนักแต่งเพลงสำหรับคำแนะนำ
เรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้ง Quebee:
composer require hindbiswas/quebee ตรวจสอบให้แน่ใจว่า AutoLoader ของนักแต่งเพลงรวมอยู่ในไฟล์ PHP ของโครงการของคุณ ใช้เส้นทางของคุณแทน path/to/ :
require_once __DIR__ . DIRECTORY_SEPARATOR . ' path/to ' . ' /vendor/autoload.php ' ;Quebee มีคุณสมบัติต่อไปนี้เพื่อทำงานกับ MySQL:
Query สำหรับ SELECT INSERT UPDATE และ DELETE แบบสอบถามTable สำหรับ CREATE TABLE พร้อมคลาส Col สำหรับคอลัมน์Col มีหลายประเภทเช่น INT , VARCHAR , DATETIME และอื่น ๆ อีกมากมายสำหรับการสร้างคอลัมน์ตามความต้องการของคุณStmt สำหรับ UNION , UNION ALL , CUBE , SET และ GROUPING SETS คำสั่ง นอกจากนี้ยังมีข้อ จำกัด คีย์ต่างประเทศคีย์หลักและการจัดทำดัชนีรวมถึงการจัดกลุ่ม ดู /tests/ ไดเรกทอรีสำหรับวิธีที่เป็นไปได้ทั้งหมดในการใช้ QueBee ;
ด้านล่างนี้เป็นตัวอย่างของวิธีการใช้ตัวสร้างแบบสอบถามแต่ละตัว
ในการสร้างแบบสอบถาม SELECT ใช้ Query::select() วิธี:
use Hindbiswas QueBee Query ;
$ aliased_cols = [ ' alias1 ' => ' column1 ' , ' alias2 ' => ' column2 ' , ' column3 ' => ' column3 ' ];
$ query = Query:: select ( $ aliased_cols )-> from ( ' table ' )-> build ();
// Resulting SQL query
// SELECT column1 AS alias1, column2 AS alias2, column3 AS column3 FROM table;หรือ,
use Hindbiswas QueBee Query ;
$ query = Query:: select ([ ' column1 ' , ' column2 ' ])
-> from ( ' table ' )
-> where ( ' column1 ' , ' value ' )
-> orderBy ( ' column2 ' , ' desc ' )
-> limit ( 10 )
-> build ();
// Resulting SQL query
// SELECT column1, column2 FROM table WHERE column1 = 'value' ORDER BY column2 DESC LIMIT 0, 10; | SQL | ตามตัวอักษร | เป็นสัญลักษณ์ |
|---|---|---|
> | gt | > |
>= | gte | >= |
< | lt | < |
<= | lte | <= |
= | eq | == หรือ = |
!= | ne | != หรือ <> |
<=> | ns | <=> |
LIKE | like | ?? |
คุณสามารถใช้ทั้งตัวอักษรหรือสัญลักษณ์
ในการสร้างแบบสอบถาม INSERT ให้ใช้วิธี Query::insert() (หากต้องการแทรกหลายแถวพร้อมกันใช้วิธี Query::insertMultiple() ):
use Hindbiswas QueBee Query ;
$ data = [ ' column1 ' => ' value1 ' , ' column2 ' => ' value2 ' ];
$ query = Query:: insert ( $ data )
-> into ( ' table ' )
-> build ();
// Resulting SQL query
// INSERT INTO table (column1, column2) VALUES ('value1', 'value2'); ในการสร้างแบบสอบถาม UPDATE ใช้วิธี Query::update() :
use Hindbiswas QueBee Query ;
$ data = [ ' column1 ' => ' new_value1 ' , ' column2 ' => ' new_value2 ' ];
$ query = Query:: update ( ' table ' )
-> set ( $ data )
-> where ( ' column1 ' , ' value1 ' )
-> build ();
// Resulting SQL query
// UPDATE table SET column1 = 'new_value1', column2 = 'new_value2' WHERE column1 = 'value1'; ในการสร้างแบบสอบถาม DELETE ให้ใช้วิธี Query::delete() :
$ query = Query:: delete ( ' table ' )-> where ( ' column1 ' , 1 , ' gt ' )-> build () // Here `gt` is alias for `>`
// Resulting SQL query
// DELETE FROM table WHERE column1 > '1'; ในการสร้างแบบสอบถาม CREATE TABLE ใช้ Table::create() วิธี:
use Hindbiswas QueBee Col ;
use Hindbiswas QueBee Table ;
use Hindbiswas QueBee Table Values DefaultVal ;
$ usersTable = Table:: create ( ' users ' )-> columns ([
' id ' => Col:: integer ( 11 )-> unsigned ()-> pk ()-> ai (),
' username ' => Col:: varchar ()-> unique (),
' email ' => Col:: varchar ()-> unique (),
' password ' => Col:: varchar (),
' is_superadmin ' => Col:: integer ( 2 )-> default ( ' 0 ' ),
' create_time ' => Col:: dateTime ()-> default (DefaultVal:: CURRENT_TIME ),
' update_time ' => Col:: dateTime ()-> setOnUpdate ()-> default (DefaultVal:: CURRENT_TIME ),
]);
$ query = $ usersTable -> build ();
// Resulting SQL query
// CREATE TABLE IF NOT EXISTS users (`id` INT(11) UNSIGNED NULL AUTO_INCREMENT, `username` VARCHAR(255) NOT NULL, `email` VARCHAR(255) NOT NULL, `password` VARCHAR(255) NOT NULL, `is_superadmin` INT(2) NOT NULL DEFAULT '0', `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, `update_time` DATETIME on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT users_PK PRIMARY KEY (id), CONSTRAINT username_UC UNIQUE (`username`), CONSTRAINT email_UC UNIQUE (`email`)) ENGINE = InnoDB; use Hindbiswas QueBee Col ;
use Hindbiswas QueBee Table ;
use Hindbiswas QueBee Table Values DefaultVal ;
use Hindbiswas QueBee Table Values FK ;
// $usersTable = create a table to constrain with
$ table = Table:: create ( ' tokens ' )-> columns ([
' id ' => Col:: integer ()-> unsigned ()-> pk ()-> ai (),
' selector ' => Col:: varchar (),
' hashed_validator ' => Col:: varchar (),
' user_id ' => Col:: integer ( 11 )-> unsigned (),
' expiry ' => Col:: dateTime (),
])-> foreign ( ' user_id ' )-> onDelete ( FK :: CASCADE )-> reference ( $ usersTable , ' id ' );
// Resulting SQL query
// CREATE TABLE IF NOT EXISTS tokens (`id` INT UNSIGNED NULL AUTO_INCREMENT, `selector` VARCHAR(255) NOT NULL, `hashed_validator` VARCHAR(255) NOT NULL, `user_id` INT(11) UNSIGNED NOT NULL, `expiry` DATETIME NOT NULL, CONSTRAINT tokens_PK PRIMARY KEY (id), FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE) ENGINE = InnoDB; v1.2.0Col::text()Col::varchar(225)Col::bit()Col::integer()Col::bigInt()Col::mediumInt()Col::smallInt()Col::tinyInt()Col::decimal(11, 6)Col::float(6, 2)Col::double(11, 6)Col::real(11, 6)Col::date()Col::dateTime() นี่คือแนวทางปฏิบัติที่ดีที่สุดเมื่อใช้ Quebee :
ใส่อินพุตผู้ใช้ sanitize: ฆ่าเชื้ออินพุตของผู้ใช้เสมอก่อนที่จะใช้ในแบบสอบถาม
การจัดการข้อผิดพลาด: จัดการข้อยกเว้นอย่างเหมาะสมโดยเฉพาะอย่างยิ่งเมื่อสร้างแบบสอบถาม Quebee สามารถโยนข้อยกเว้นสำหรับอินพุตที่ไม่ถูกต้องหรือการเรียกวิธีการ
ฐานข้อมูล Abstraction: พิจารณาใช้เลเยอร์นามธรรมฐานข้อมูลควบคู่ไปกับ Quebee สำหรับการโต้ตอบฐานข้อมูลที่ครอบคลุมมากขึ้น
การจัดระเบียบรหัส: จัดระเบียบรหัสของคุณอย่างมีเหตุผลแยกการสร้างแบบสอบถามออกจากการดำเนินการและการจัดการผลลัพธ์
Quebee ทำให้การสร้างแบบสอบถาม SQL ง่ายขึ้นใน PHP ทำให้ง่ายต่อการสร้างการโต้ตอบฐานข้อมูลที่สะอาดปลอดภัยและมีประสิทธิภาพ ด้วย API ที่คล่องแคล่วมันเป็นวิธีที่ใช้งานง่ายในการสร้างแบบสอบถาม SQL สำหรับระบบฐานข้อมูลต่างๆ
สำหรับตัวเลือกการใช้งานและการปรับแต่งโดยละเอียดเพิ่มเติมโปรดดูที่ที่เก็บ Quebee GitHub
แค่ไหน! คุณพร้อมที่จะเริ่มใช้ Quebee สำหรับการสร้างแบบสอบถาม SQL ในแอปพลิเคชัน PHP ของคุณ