update readme for new version

This commit is contained in:
Sergey Tsalkov
2021-06-28 22:37:53 +00:00
parent f7a52ca410
commit 13f249f200

View File

@@ -50,11 +50,11 @@ Code Examples
### Grab one row or field ### Grab one row or field
$account = DB::queryFirstRow("SELECT * FROM accounts WHERE username=%s", 'Joe'); $account = DB::queryFirstRow("SELECT * FROM accounts WHERE username=%s", 'Joe');
$number_accounts = DB::queryFirstField("SELECT COUNT(*) FROM accounts"); $number_accounts = DB::queryFirstField("SELECT COUNT(*) FROM accounts");
### Use a list in a query ### Use a list in a query
DB::query("SELECT * FROM tbl WHERE name IN %ls AND age NOT IN %li", array('John', 'Bob'), array(12, 15)); DB::query("SELECT * FROM tbl WHERE name IN %ls AND age NOT IN %li", array('John', 'Bob'), array(12, 15));
### Nested Transactions ### Nested Transactions
@@ -84,13 +84,17 @@ MeekroDB works. Still, if you need database objects, MeekroDB can do that too.
The code below escapes your parameters for safety, runs the query, and grabs The code below escapes your parameters for safety, runs the query, and grabs
the first row of results. Try doing that in one line with PDO. the first row of results. Try doing that in one line with PDO.
$account = DB::queryFirstRow("SELECT * FROM accounts WHERE username=%s", 'Joe'); $account = DB::queryFirstRow("SELECT * FROM accounts WHERE username=%s", 'Joe');
Or how about just one field?
$created_at = DB::queryFirstField("SELECT created_at FROM accounts WHERE username=%s", 'Joe');
### Work with list parameters easily ### Work with list parameters easily
Using MySQL's IN keyword should not be hard. MeekroDB smooths out the syntax for you, Using MySQL's IN keyword should not be hard. MeekroDB smooths out the syntax for you,
PDO does not. PDO does not.
$accounts = DB::query("SELECT * FROM accounts WHERE username IN %ls", array('Joe', 'Frank')); $accounts = DB::query("SELECT * FROM accounts WHERE username IN %ls", array('Joe', 'Frank'));
### Simple inserts ### Simple inserts
@@ -98,21 +102,7 @@ Using MySQL's INSERT should not be more complicated than passing in an
associative array. MeekroDB also simplifies many related commands, including associative array. MeekroDB also simplifies many related commands, including
the useful and bizarre INSERT .. ON DUPLICATE UPDATE command. PDO does none of this. the useful and bizarre INSERT .. ON DUPLICATE UPDATE command. PDO does none of this.
DB::insert('accounts', array('username' => 'John', 'password' => 'whatever')); DB::insert('accounts', array('username' => 'John', 'password' => 'whatever'));
### Focus on the goal, not the task
Want to do INSERT yourself rather than relying on DB::insert()?
It's dead simple. I don't even want to think about how many lines
you'd need to pull this off in PDO.
// Insert 2 rows at once
DB::query("INSERT INTO %b %lb VALUES %ll?", 'accounts',
array('username', 'password', 'last_login_timestamp'),
array(
array('Joe', 'joes_password', new DateTime('yesterday')),
array('Frank', 'franks_password', new DateTime('last Monday'))
)
);
### Nested transactions ### Nested transactions
MySQL's SAVEPOINT commands lets you create nested transactions, but only MySQL's SAVEPOINT commands lets you create nested transactions, but only
@@ -130,18 +120,14 @@ so you can have nested transactions with no complexity or learning curve.
// .. some queries.. // .. some queries..
DB::commit(); // commit outer transaction DB::commit(); // commit outer transaction
### Flexible error and success handlers ### Flexible debug logging and error handling
Set your own custom function run on errors, or on every query that succeeds. You can log all queries (and any errors they produce) to a file for debugging purposes. You can also add hooks that let you run your own functions at any point in the query handling process.
You can easily have separate error handling behavior for the dev and live
versions of your application. Want to count up all your queries and their
runtime? Just add a new success handler.
My Other Projects My Other Projects
======== ========
A little shameless self-promotion! A little shameless self-promotion!
* [Ark Server Hosting](https://arkservers.io) -- Ark: Survival Evolved server hosting by ArkServers.io! * [Ark Server Hosting](https://arkservers.io) -- Ark: Survival Evolved server hosting by ArkServers.io!
* [7 Days To Die Server Hosting](https://arkservers.io/7days) -- 7 Days to Die server hosting by ArkServers.io!
* [Best Minecraft Server Hosting](https://bestminecraft.org) -- Ranking and recommendations for minecraft server hosting! * [Best Minecraft Server Hosting](https://bestminecraft.org) -- Ranking and recommendations for minecraft server hosting!
* [ChunkHost](https://chunkhost.com) -- VPS Hosting starting at $5/month! We accept bitcoin!
* [brooce](https://github.com/SergeyTsalkov/brooce) - Language-agnostic job queue written in Go! Write your jobs in any language, schedule them from any language, run them anywhere! * [brooce](https://github.com/SergeyTsalkov/brooce) - Language-agnostic job queue written in Go! Write your jobs in any language, schedule them from any language, run them anywhere!