PDOModel – Database abstraction and helper PHP class


PDOModel - Database abstraction and helper PHP class - 1

More Details




PDOModel – Database abstraction and helper PHP class that helps to do insert, update, delete, select operation using PDO without writing any queries and with much lesser code. It supports Mysql, Postgres,SQlite and SQL Server database.

Version 1.3 – PDOModel now supports SQL Server along with PGSQL, SQLite and Mysql.

PDOModel provides a complete solution to perform CRUD operations on three different types of database (Mysql, Postgres and Sqlite). It provides various helper functions to export data directly to csv,excel,xml,pdf,html and many more useful functions.

Example of how to write SQL select query using PDOModel

$pdomodel = new PDOModel(); //create object of the PDOModel class
$pdomodel->connect("localhost", "root", "", "pdocrud");//connect to database
$result = $pdomodel->select("emp"); //select * from `emp`

That’s it, you need to write just 2-3 line of code. You can write very complex queries using PDOModel functions

PDOModel - Database abstraction and helper PHP class - 2

PDOModel supports three type of database, Mysql, Postgres and Sqlite.

PDOModel - Database abstraction and helper PHP class - 3

PDOModel script allows you to export data directly in various database formats.

PDOModel - Database abstraction and helper PHP class - 4


$pdomodel = new PDOModel();//create object
$pdomodel->connect("localhost", "root", "", "pdocrud");//connect to database - three different database type available

$pdomodel->insert("emp", array("firstName" => "John", "lastName" => "Jonathan", "gender" => "male"));

$pdomodel->where("orderId", 7);
$pdomodel->update("order", array("orderNumber"=>"44", "customerName"=>"BKG", "address"=>"140 shakti nagar"));

$pdomodel->where("orderId", 7);

/* SELECT */
$result = $pdomodel->select("emp");

$pdomodel->where("orderNumber", "5", "!=");

$pdomodel->openBrackets ="(";
$pdomodel->where("city", "Indore", "=");
$pdomodel->closedBrackets =")";

$pdomodel->groupByCols = array("orderId");

$pdomodel->orderByCols = array("orderId desc", "state asc");

$pdomodel->havingCondtion = array("sum(orderId)>2");

$pdomodel->limit = "0,5";

$pdomodel->where("empId", array(36,37), "BETWEEN");

$pdomodel->where("firstName", '%P%', "LIKE");

$pdomodel->where("empId", array(36,37,39,40), "IN");

/* subquery/inner query */
$pdomodel->subQuery("select empId from emp where empId=?","empId",array(34));

/* where subquery */
$pdomodel->where_subquery("orderId", "select orderId from `order` where orderId=?", "IN",array(10));

/*rename, trucate, drop table, column name, primary key, tablefield info*/
$records = $pdomodel->columnNames("order");
$records = $pdomodel->primaryKey("order");
$records = $pdomodel->tableFieldInfo("order");

/*execute sql*/
$result = $pdomodel->executeQuery("select * from emp where empId = ?", array(39));

Main Features:

  1. Perform Insert, update, delete and select operations using simple functions
  2. Three different types of database support (Mysql, PGSql and SQLite)
  3. Complex queries support with use of multiple “and” and “or”
  4. Multiple table join Operation using simple functions
  5. Table related operations like get all tables from database, truncate table, delete table, rename table etc.
  6. Subquery/inner query can be embedded
  7. Column based operation like getting all columns of table, primary key of table etc
  8. Export functions to export data in CSV, PDF, Excel, HTML, XML Format
  9. Helper functions like pagination, random password generation
  10. Best practices using PDO with use of prepared statements
  11. Support for PDO Transactions
  12. Support for batch operations for insert, update and delete
  13. Execute query directly with parameter binding
  14. Various debugging options like get last query, get rows inserted, error messages etc
  15. Support for order by, group by, like, between, in, not in, having etc
  16. Well documented and demo codes to make things easier to understand
  17. Supports method chaining
  18. Batch operations for faster result

Version 1.4


  • Now support Insert On Duplicate Update statement also.
  • Resolved bug for sqlite

Version 1.3


Version 1.2


  • Json export option
  • CSV Import option
  • Excel Import option
  • XML Import option
  • Various functions to support chaining
  • Resolved bug for truncate function for sqlite
  • improved documentation

Min requirement for the script
PHP Version 5.3 and above
Must have write access for download folder



Wordpress awesome import and export plugin

There are no reviews yet.

Write a review

Your email address will not be published. Required fields are marked *