PDOModel - Database abstraction and helper PHP class

PDOModel - Database abstraction and helper PHP class

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 and SQlite database.

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.

More Details


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 supports three type of database, Mysql, Postgres and Sqlite.

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


$pdomodel = new PDOModel();//create object $pdomodel->connect("localhost", "root", "", "pdocrud");//connect to database - three different database type available /* INSERT , UPDATE AND DELETE OPERATION */ $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); $pdomodel->delete("order"); /* SELECT */ $result = $pdomodel->select("emp"); /* WHERE, AND, OR, BETWEEN, GROUP BY, ORDER BY, LIKE , HAVING */ $pdomodel->where("orderNumber", "5", "!="); $pdomodel->openBrackets ="("; $pdomodel->where("city", "Indore", "="); $pdomodel->andOrOperator="OR"; $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*/ $pdomodel->truncateTable("wp_postmeta"); $pdomodel->renameTable("states","state"); $pdomodel->dropTable("empleave"); $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.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