A Query Builder and Database abstraction layer
Go to file
2012-03-19 10:40:16 -04:00
drivers Added postgres tests 2012-03-19 10:40:16 -04:00
tests Added postgres tests 2012-03-19 10:40:16 -04:00
.gitignore Added mysql tests 2012-03-15 15:46:04 -04:00
db_pdo.php Overhaul firebird driver to better match PDO interface. 2012-03-15 14:09:45 -04:00
query_builder.php Added mysql tests 2012-03-15 15:46:04 -04:00
README.md Update readme to more accurately portray non-supported methods 2012-03-19 08:57:55 -04:00

Query

A query builder/abstraction layer, using prepared queries for security.

Requirements

  • Pdo extensions for the databases you wish to use (unless it's Firebird, in which case, the interbase extension is required)
  • PHP 5.2+

Databases Supported

  • Firebird
  • MySQL
  • PostgreSQL
  • SQLite
  • Others, via ODBC

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. However, it does not implement the select_ methods, count_all_results, distinct, having, or_having or count_all.

To retreive the results of a query, use the PDO methods fetch and fetchAll.

$query = $db->get('table_name');

$results = $query->fetchAll(PDO::FETCH_ASSOC);