cleanup README, add note about $logfile
This commit is contained in:
38
README.md
38
README.md
@@ -15,31 +15,40 @@ When you're ready to get started, see the [Quick Start Guide](http://www.meekro.
|
||||
### Manual Setup
|
||||
Include the `db.class.php` file into your project and set it up like this:
|
||||
|
||||
```php
|
||||
require_once 'db.class.php';
|
||||
DB::$user = 'my_database_user';
|
||||
DB::$password = 'my_database_password';
|
||||
DB::$dbName = 'my_database_name';
|
||||
```
|
||||
|
||||
### Composer
|
||||
Add this to your `composer.json`
|
||||
|
||||
```json
|
||||
{
|
||||
"require": {
|
||||
"sergeytsalkov/meekrodb": "*"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Code Examples
|
||||
========
|
||||
### Grab some rows from the database and print out a field from each row.
|
||||
|
||||
```php
|
||||
$accounts = DB::query("SELECT * FROM accounts WHERE type = %s AND age > %i", $type, 15);
|
||||
foreach ($accounts as $account) {
|
||||
echo $account['username'] . "\n";
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
### Insert a new row.
|
||||
|
||||
```php
|
||||
DB::insert('mytable', array(
|
||||
'name' => $name,
|
||||
'rank' => $rank,
|
||||
@@ -47,17 +56,31 @@ Code Examples
|
||||
'age' => $age,
|
||||
'intelligence' => $intelligence
|
||||
));
|
||||
```
|
||||
|
||||
### Grab one row or field
|
||||
|
||||
```php
|
||||
$account = DB::queryFirstRow("SELECT * FROM accounts WHERE username=%s", 'Joe');
|
||||
$number_accounts = DB::queryFirstField("SELECT COUNT(*) FROM accounts");
|
||||
```
|
||||
|
||||
### Use a list in a query
|
||||
```php
|
||||
DB::query("SELECT * FROM tbl WHERE name IN %ls AND age NOT IN %li", array('John', 'Bob'), array(12, 15));
|
||||
```
|
||||
|
||||
### Log all queries and errors
|
||||
```php
|
||||
// log all queries and errors to file, or ..
|
||||
DB::$logfile = '/home/username/logfile.txt';
|
||||
|
||||
// log all queries and errors to screen
|
||||
DB::$logfile = fopen('php://output', 'w');
|
||||
```
|
||||
|
||||
### Nested Transactions
|
||||
|
||||
```php
|
||||
DB::$nested_transactions = true;
|
||||
DB::startTransaction(); // outer transaction
|
||||
// .. some queries..
|
||||
@@ -68,8 +91,9 @@ Code Examples
|
||||
DB::commit(); // commit inner transaction
|
||||
// .. some queries..
|
||||
DB::commit(); // commit outer transaction
|
||||
```
|
||||
|
||||
### Lots More - See: http://www.meekro.com/docs.php
|
||||
### Lots More - See: http://meekro.com/docs
|
||||
|
||||
|
||||
How is MeekroDB better than PDO?
|
||||
@@ -84,17 +108,23 @@ 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 first row of results. Try doing that in one line with PDO.
|
||||
|
||||
```php
|
||||
$account = DB::queryFirstRow("SELECT * FROM accounts WHERE username=%s", 'Joe');
|
||||
```
|
||||
|
||||
Or how about just one field?
|
||||
|
||||
```php
|
||||
$created_at = DB::queryFirstField("SELECT created_at FROM accounts WHERE username=%s", 'Joe');
|
||||
```
|
||||
|
||||
### Work with list parameters easily
|
||||
Using MySQL's IN keyword should not be hard. MeekroDB smooths out the syntax for you,
|
||||
PDO does not.
|
||||
|
||||
```php
|
||||
$accounts = DB::query("SELECT * FROM accounts WHERE username IN %ls", array('Joe', 'Frank'));
|
||||
```
|
||||
|
||||
|
||||
### Simple inserts
|
||||
@@ -102,13 +132,16 @@ Using MySQL's INSERT should not be more complicated than passing in an
|
||||
associative array. MeekroDB also simplifies many related commands, including
|
||||
the useful and bizarre INSERT .. ON DUPLICATE UPDATE command. PDO does none of this.
|
||||
|
||||
```php
|
||||
DB::insert('accounts', array('username' => 'John', 'password' => 'whatever'));
|
||||
```
|
||||
|
||||
### Nested transactions
|
||||
MySQL's SAVEPOINT commands lets you create nested transactions, but only
|
||||
if you keep track of SAVEPOINT ids yourself. MeekroDB does this for you,
|
||||
so you can have nested transactions with no complexity or learning curve.
|
||||
|
||||
```php
|
||||
DB::$nested_transactions = true;
|
||||
DB::startTransaction(); // outer transaction
|
||||
// .. some queries..
|
||||
@@ -119,6 +152,7 @@ so you can have nested transactions with no complexity or learning curve.
|
||||
DB::commit(); // commit inner transaction
|
||||
// .. some queries..
|
||||
DB::commit(); // commit outer transaction
|
||||
```
|
||||
|
||||
### Flexible debug logging and error handling
|
||||
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.
|
||||
|
||||
Reference in New Issue
Block a user