Description
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`
Examples
$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:
- Perform Insert, update, delete and select operations using simple functions
- Three different types of database support (Mysql, PGSql and SQLite)
- Complex queries support with use of multiple “and” and “or”
- Multiple table join Operation using simple functions
- Table related operations like get all tables from database, truncate table, delete table, rename table etc.
- Subquery/inner query can be embedded
- Column based operation like getting all columns of table, primary key of table etc
- Export functions to export data in CSV, PDF, Excel, HTML, XML Format
- Helper functions like pagination, random password generation
- Best practices using PDO with use of prepared statements
- Support for PDO Transactions
- Support for batch operations for insert, update and delete
- Execute query directly with parameter binding
- Various debugging options like get last query, get rows inserted, error messages etc
- Support for order by, group by, like, between, in, not in, having etc
- Well documented and demo codes to make things easier to understand
- Supports method chaining
- Batch operations for faster result
Versions
Version 1.4
Added-
- Now support Insert On Duplicate Update statement also.
- Resolved bug for sqlite
Version 1.3
Added-
- Now support sql server database also. Please note that you must have SQLServer extension installed for this. For more details, check here http://php.net/manual/en/ref.pdo-sqlsrv.php
- Resolved bug for sqlite
Version 1.2
Added-
- 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 to the download folder
Reviews
There are no reviews yet.