Updated README, updated query_builder class to accept an array as well as an object
This commit is contained in:
parent
da107cf6e3
commit
39d70bf808
44
README.md
44
README.md
@ -1,3 +1,47 @@
|
||||
# Query
|
||||
|
||||
A query builder/abstraction layer.
|
||||
|
||||
## Databases Supported
|
||||
|
||||
* Firebird
|
||||
* MySQL
|
||||
* PostgreSQL
|
||||
* SQLite
|
||||
* Others, via ODBC
|
||||
|
||||
## Requirements
|
||||
* Pdo extensions for the databases you wish to use (unless it's Firebird, in which case, the interbase extension is required)
|
||||
|
||||
|
||||
## Connecting
|
||||
|
||||
Create a connection array or object similar to this:
|
||||
|
||||
<?php
|
||||
|
||||
$params = array(
|
||||
'type' => 'mysql',
|
||||
'host' => 'localhost',
|
||||
'user' => 'root',
|
||||
'pass' => '',
|
||||
'port' => '3306',
|
||||
'database' => 'test_db',
|
||||
|
||||
// Only required
|
||||
// SQLite or Firebird
|
||||
'file' => '/path/to/db/file',
|
||||
);
|
||||
|
||||
$db = new Query_Builder($params);
|
||||
|
||||
The parameters required depend on the database.
|
||||
|
||||
### 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 `select_` methods, `count_all_results`, or `count_all`.
|
||||
|
||||
To retreive the results of a query, use the PDO methods `fetch` and `fetchAll`.
|
||||
|
||||
$query = $this->db->get('table_name');
|
||||
|
||||
$results = $query->fetchAll(PDO::FETCH_ASSOC);
|
@ -62,6 +62,19 @@ class Query_Builder {
|
||||
*/
|
||||
public function __construct($params)
|
||||
{
|
||||
// Convert array to object
|
||||
if (is_array($params))
|
||||
{
|
||||
$p = new StdClass();
|
||||
|
||||
foreach($params as $key => $val)
|
||||
{
|
||||
$p->$key = $val;
|
||||
}
|
||||
|
||||
$params = $p;
|
||||
}
|
||||
|
||||
$params->type = strtolower($params->type);
|
||||
$dbtype = ($params->type !== 'postgresql') ? $params->type : 'pgsql';
|
||||
|
||||
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user