Add coverage badge to readme file

This commit is contained in:
Timothy Warren 2014-02-25 12:04:51 -05:00
parent b953b23ebd
commit 05f6bbd409

View File

@ -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.