Add coverage badge to readme file
This commit is contained in:
parent
b953b23ebd
commit
05f6bbd409
43
README.md
43
README.md
@ -3,13 +3,14 @@
|
|||||||
A query builder/database abstraction layer, using prepared queries for security.
|
A query builder/database abstraction layer, using prepared queries for security.
|
||||||
|
|
||||||
[![Build Status](https://secure.travis-ci.org/timw4mail/Query.png)](http://travis-ci.org/timw4mail/Query)
|
[![Build Status](https://secure.travis-ci.org/timw4mail/Query.png)](http://travis-ci.org/timw4mail/Query)
|
||||||
|
[![Coverage Status](https://coveralls.io/repos/timw4mail/Query/badge.png?branch=master)](https://coveralls.io/r/timw4mail/Query?branch=master)
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
* Pdo extensions for the databases you wish to use (unless it's Firebird, in which case, the interbase extension is required)
|
* Pdo extensions for the databases you wish to use (unless it's Firebird, in which case, the interbase extension is required)
|
||||||
* PHP 5.3+
|
* PHP 5.3+
|
||||||
|
|
||||||
## Databases Supported
|
## Databases Supported
|
||||||
|
|
||||||
* Firebird (via interbase extension)
|
* Firebird (via interbase extension)
|
||||||
* MySQL
|
* MySQL
|
||||||
* PostgreSQL
|
* PostgreSQL
|
||||||
@ -19,13 +20,13 @@ A query builder/database abstraction layer, using prepared queries for security.
|
|||||||
|
|
||||||
To include Query in your PHP project, just include the `autoload.php` file. This will automatically load the classes that are supported by the current PHP installation.
|
To include Query in your PHP project, just include the `autoload.php` file. This will automatically load the classes that are supported by the current PHP installation.
|
||||||
|
|
||||||
|
|
||||||
## Connecting
|
## Connecting
|
||||||
|
|
||||||
Create a connection array or object similar to this:
|
Create a connection array or object similar to this:
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
$params = array(
|
$params = array(
|
||||||
'type' => 'mysql',
|
'type' => 'mysql',
|
||||||
'host' => 'localhost',
|
'host' => 'localhost',
|
||||||
@ -33,45 +34,45 @@ Create a connection array or object similar to this:
|
|||||||
'pass' => '',
|
'pass' => '',
|
||||||
'port' => '3306',
|
'port' => '3306',
|
||||||
'database' => 'test_db',
|
'database' => 'test_db',
|
||||||
|
|
||||||
// Only required
|
// Only required
|
||||||
// SQLite or Firebird
|
// SQLite or Firebird
|
||||||
'file' => '/path/to/db/file',
|
'file' => '/path/to/db/file',
|
||||||
|
|
||||||
// Optional paramaters
|
// Optional paramaters
|
||||||
'prefix' => 'tbl_', // Database table prefix
|
'prefix' => 'tbl_', // Database table prefix
|
||||||
'alias' => 'old' // Connection name for the Query function
|
'alias' => 'old' // Connection name for the Query function
|
||||||
);
|
);
|
||||||
|
|
||||||
$db = Query($params);
|
$db = Query($params);
|
||||||
|
|
||||||
The parameters required depend on the database.
|
The parameters required depend on the database.
|
||||||
|
|
||||||
### Query function
|
### Query function
|
||||||
|
|
||||||
You can use the `Query()` function as a reference to the last connected database. E.g.
|
You can use the `Query()` function as a reference to the last connected database. E.g.
|
||||||
|
|
||||||
Query()->get('table_name');
|
Query()->get('table_name');
|
||||||
|
|
||||||
or
|
or
|
||||||
|
|
||||||
$result = Query()->query($sql);
|
$result = Query()->query($sql);
|
||||||
|
|
||||||
If the `alias` key is set in the parameters, you can refer to a specific database connection
|
If the `alias` key is set in the parameters, you can refer to a specific database connection
|
||||||
|
|
||||||
// Set the alias in the connection parameters
|
// Set the alias in the connection parameters
|
||||||
$params['alias'] = 'old';
|
$params['alias'] = 'old';
|
||||||
|
|
||||||
// Connect to the legacy database
|
// Connect to the legacy database
|
||||||
Query('old')->query($sql);
|
Query('old')->query($sql);
|
||||||
|
|
||||||
### Running Queries
|
### Running Queries
|
||||||
Query uses the same interface as CodeIgniter's [Active Record class](http://codeigniter.com/user_guide/database/active_record.html). However, it does not implement the `update_batch` or caching methods.
|
Query uses the same interface as CodeIgniter's [Active Record class](http://codeigniter.com/user_guide/database/active_record.html). However, it does not implement the `update_batch` or caching methods.
|
||||||
|
|
||||||
####You can also run queries manually.
|
####You can also run queries manually.
|
||||||
|
|
||||||
To run a prepared statement, call
|
To run a prepared statement, call
|
||||||
`$db->prepare_execute($sql, $params)`.
|
`$db->prepare_execute($sql, $params)`.
|
||||||
|
|
||||||
To run a plain query, `$db->query($sql)`
|
To run a plain query, `$db->query($sql)`
|
||||||
|
|
||||||
@ -86,7 +87,7 @@ An example of a moderately complex query:
|
|||||||
->order_by('val', 'DESC')
|
->order_by('val', 'DESC')
|
||||||
->limit(3, 1)
|
->limit(3, 1)
|
||||||
->get();
|
->get();
|
||||||
|
|
||||||
This will generate a query similar to (with this being the output for a Postgres database):
|
This will generate a query similar to (with this being the output for a Postgres database):
|
||||||
|
|
||||||
SELECT "id", "key" AS "k", "val"
|
SELECT "id", "key" AS "k", "val"
|
||||||
@ -100,10 +101,10 @@ This will generate a query similar to (with this being the output for a Postgres
|
|||||||
To retreive the results of a query, use the PDO method [fetch](http://php.net/manual/en/pdostatement.fetch.php) and/or [fetchAll](http://php.net/manual/en/pdostatement.fetchall.php).
|
To retreive the results of a query, use the PDO method [fetch](http://php.net/manual/en/pdostatement.fetch.php) and/or [fetchAll](http://php.net/manual/en/pdostatement.fetchall.php).
|
||||||
|
|
||||||
$query = $db->get('table_name');
|
$query = $db->get('table_name');
|
||||||
|
|
||||||
$results = $query->fetchAll(PDO::FETCH_ASSOC);
|
$results = $query->fetchAll(PDO::FETCH_ASSOC);
|
||||||
|
|
||||||
|
|
||||||
### Inserting / Updating
|
### Inserting / Updating
|
||||||
|
|
||||||
An example of an insert query:
|
An example of an insert query:
|
||||||
@ -112,13 +113,13 @@ An example of an insert query:
|
|||||||
->set('foobar', 'baz')
|
->set('foobar', 'baz')
|
||||||
->where('foo !=', 'bar')
|
->where('foo !=', 'bar')
|
||||||
->insert('table');
|
->insert('table');
|
||||||
|
|
||||||
An example of an update query:
|
An example of an update query:
|
||||||
|
|
||||||
$query = $db->set('foo', 'bar')
|
$query = $db->set('foo', 'bar')
|
||||||
->set('foobar', 'baz')
|
->set('foobar', 'baz')
|
||||||
->where('foo !=', 'bar')
|
->where('foo !=', 'bar')
|
||||||
->update('table');
|
->update('table');
|
||||||
|
|
||||||
The `set` method can also take an array as a paramater, instead of setting individual values.
|
The `set` method can also take an array as a paramater, instead of setting individual values.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user