8000 GitHub - gurkanbicer/spdo: Simple PHP Pdo Database Class
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
This repository was archived by the owner on Sep 21, 2020. It is now read-only.

gurkanbicer/spdo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Spdo

Simple PDO Database Class

  • Less coding
  • PDO-Based Structure
  • Multiple Database Connection Possiblity
  • Multiple Output Possiblity (json, xml, object, array)
  • CodeIgniter 2.x and 3.x Support

You must download Spdo.php file from Github servers to your project directory. After downloading, you must create a database connection configuration file.

Sample Database Connection Configuration:

$db = [
  "default" => [
    "database" => "YourDatabaseName",
    "hostname" => "MysqlHostname",
    "username" => "MysqlUsername",
    "password" => "MysqlUserPassword",
    "char_set" => "utf8",
  ],
  "secondaryDB" => [
    "database" => "YourDatabaseName",
    "hostname" => "MysqlHostname",
    "username" => "MysqlUsername",
    "password" => "MysqlUserPassword",
    "char_set" => "utf8",
  ]
];

Maybe, you want to include this codes to your own configuration file. No problem, just this codes must be before Spdo class.

Sample Including Spdo Class To Project:

include "config.php";
include "Spdo.php";

$spdo = new Spdo();

If you want this class to CodeIgniter project, you must follow this rules;

  • Add a value to $autoload variable like as this;
$autoload['libraries'] = array('Spdo');
  • You must move Spdo.php file to application/libraries directory.
  • Open Spdo.php file and apply like as this changes;
#require_once APPPATH . 'config/database.php'; 

to

require_once APPPATH . 'config/database.php'; 
  • Open application/config/database.php and edit database configuration values for your database.

Functions List:

  • errors()
  • getErrors()
  • getLastQuery()
  • numRows()
  • getResults()
  • getRow()
  • getVar()
  • execute()
  • insert()
  • update()
  • delete()

Some Sample For CRUD Processes:

Using getResults() function

$results = $spdo->getResults('SELECT * FROM categories');

Returning data type: object

$results = $spdo->getResults('SELECT * FROM categories', ["returnDataType" => "json"]);

Returning data type: json returnDataType parameter's value can be object, array, json or xml.

$results = $spdo->getResults('SELECT * FROM categories WHERE status > ?', 
["bindValues" => ["active"], "returnDataType" => "json"]);

Returning data type: json bindValues parameter's value can be array or string.

$results = $spdo->getResults('SELECT * FROM categories WHERE status > ?', 
["bindValues" => ["active"], "returnDataType" => "json", "configKey" => "secondaryDB"]);

Returning data type: json configKey parameter's value can be a parameter name on the your config file.

Using getRow() function

$result = $spdo->getRow('SELECT * FROM categories ID = 5');

Returning data type: object

$result = $spdo->getRow('SELECT * FROM categories ID = 5', array("returnDataType" => "json"));

Returning data type: json returnDataType parameter's value can be object, array, json or xml.

$result = $spdo->getRow('SELECT * FROM categories WHERE name = ?', array("bindValues" => array("Technology"), "returnDataType" => "json"));

Returning data type: json bindValues parameter's value can be array or string.

$result = $spdo->getRow('SELECT * FROM categories WHERE name = ?', array("bindValues" => array("Technology"), "returnDataType" => "json", "configKey" => "secondaryDB"));

Returning data type: json configKey parameter's value can be a parameter name on the your config file.

Using getVar() function

$categoryName = $spdo->getVar('SELECT name FROM categories ID = 5');

Returning data type: string

$categoryName = $spdo->getVar('SELECT name FROM categories ID = 5', array("returnDataType" => "json"));

Returning data type: json returnDataType parameter's value can be object, array, json or xml

$categoryStatus = $spdo->getVar('SELECT status FROM categories WHERE name = ?', array("bindValues" => array("Technology"), "returnDataType" => "json"));

Returning data type: bindValues parameter's value can be array or string.

$categoryStatus = $spdo->getVar('SELECT status FROM categories WHERE name = ?', array("bindValues" => array("Technology"), "returnDataType" => "json", "configKey" => "secondaryDB"));

Returning data type. configKey parameter's value can be a parameter name on the your config file.

Using insert() function

$category = array('name' => 'Technology', 'status' => 'active');
$result = $spdo->insert('categories', $category);

Returning data: Inserted Row Id First parameter: table name Secondary paramater: column names and values

$category = array('name' => 'Technology', 'status' => 'active');
$result = $spdo->insert('categories', $category, array('configKey' => 'secondaryDB'));

Returning data: Inserted row id First parameter: table name Secondary paramater: column names and values configKey paramater's can be a parameter name on the config file.

Using update() function

$result = $spdo->update('categories', array('status' => 'active'), array('ID > ?'), array(5));

Returning data: Affected row number First parameter: table name Secondary parameter: column names and values Third parameter: Where block Fourth parameter: Where block values

$result = $spdo->update('categories', array('status' => 'active'), array('ID > ?'), array(5), array('configKey' => 'secondaryDB'));

Returning data: Affected row number First parameter: table name Secondary parameter: column names and values Third parameter: Where block Fourth parameter: Where block values configKey parameter's can be a paramater name on the config file.

Using delete() function

$result = $spdo->delete('categories', array('ID = 5'));

First paramater: table name Secondary paramater: where block

$result = $spdo->delete('categories', array('ID = ?'), array(5));

First paramater: table name Secondary parameter: where block Third parameter: where block values

$result = $spdo->delete('categories', array('ID = ?'), array(5), array('configKey' => 'secondaryDB'));

First paramater: table name Secondary parameter: where block Third parameter: where block values configKey value can be a parameter name on the config file.

Using execute() function

Samples are in the below:

Sample 1:

$result = $spdo->execute('INSERT INTO categories SET name = ?, status = ?', array('bindValues' => array('Technology', 'status')));

Sample 2:

$result = $spdo->execute('INSERT INTO categories SET name = ?, status = ?', array('bindValues' => array('Technology', 'active'), 'configKey' => 'secondaryDB'));

Sample 3:

$result = $spdo->execute('DELETE FROM categories WHERE ID = ?', array('bindValues' => array(5)));

Sample 4:

$result = $spdo->execute('DELETE FROM categories WHERE ID = ?', array('bindValues' => array(5), 'configKey' => 'secondaryDB'));

Sample 5:

$result = $spdo->execute('UPDATE categories SET name = ? WHERE ID = ?', array('bindValues' => array('Tech', 5)));

Sample 6

$result = $spdo->execute('UPDATE categories SET name = ? WHERE ID = ?', array('bindValues' => array('Tech', 5), 'configKey' => 'secondaryDB'));

Other functions

$spdo->errors();

This function shows all errors.

$errors = $spdo->getErrors();

This function returns all errors.

$spdo->getLastQuery();

This function will return data as following;

  • SQL query,
  • Binding values,
  • Selected database,
  • Returned data type,
echo $spdo->numRows();

This function returns selected rows in the SELECT query.

If you're have a question, please send an email to gurkan@grkn.co

Gurkan Bicer

About

Simple PHP Pdo Database Class

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0