Update README

This commit is contained in:
Timothy Warren 2016-02-01 20:53:54 -05:00
parent 4814f5f787
commit 7c48eecb1a
1 changed files with 59 additions and 44 deletions

View File

@ -31,6 +31,7 @@ To include Query in your PHP project, just include the `autoload.php` file. This
Create a connection array or object similar to this: Create a connection array or object similar to this:
```php
<?php <?php
$params = array( $params = array(
@ -51,6 +52,7 @@ Create a connection array or object similar to this:
); );
$db = Query($params); $db = Query($params);
```
The parameters required depend on the database. The parameters required depend on the database.
@ -58,19 +60,25 @@ The parameters required depend on the database.
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.
```php
Query()->get('table_name'); Query()->get('table_name');
```
or or
```php
$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
```php
// 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://ellislab.com/codeigniter/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://ellislab.com/codeigniter/user-guide/database/active_record.html). However, it does not implement the `update_batch` or caching methods.
@ -86,6 +94,7 @@ To run a plain query, `$db->query($sql)`
An example of a moderately complex query: An example of a moderately complex query:
```php
$query = $db->select('id, key as k, val') $query = $db->select('id, key as k, val')
->from('table t') ->from('table t')
->where('k >', 3) ->where('k >', 3)
@ -93,15 +102,18 @@ 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):
```sql
SELECT "id", "key" AS "k", "val" SELECT "id", "key" AS "k", "val"
FROM "table" "t" FROM "table" "t"
WHERE "k" > ? WHERE "k" > ?
OR "id" != ? OR "id" != ?
ORDER BY "val" DESC ORDER BY "val" DESC
LIMIT 3 OFFSET 1 LIMIT 3 OFFSET 1
```
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).
@ -114,18 +126,21 @@ To retreive the results of a query, use the PDO method [fetch](http://php.net/ma
### Inserting / Updating ### Inserting / Updating
An example of an insert query: An example of an insert query:
```php
$query = $db->set('foo', 'bar') $query = $db->set('foo', 'bar')
->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:
```php
$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.