zuluniner/secsql

This package is abandoned and no longer maintained. No replacement package was suggested.

Easy PDO SQL querying library

dev-master 2019-05-28 10:27 UTC

This package is auto-updated.

Last update: 2022-09-28 17:59:23 UTC


README

A secure and easy way to access SQL via PHP PDO

Require the package in PHP

Can also be done through including/requiring composer autoload.php
<?php
  require_once("../secsql.php");
  use ZuluNiner\SecSQL;

SECSQL\Query

params in order left to right
Required
  • $hostname

  • $port

  • $username

  • $password

  • $database

    Not required: Defaults listed
  • $driver = 'mysql'

  • $charset = "utf8"

$SecSQL = new SecSQL("localhost","3306","username","password","database");

ZuluNiner\SECSQL->Select()

params in order left to right

Required
  • $table
Not required: Defaults listed
  • $columns = null
$select = $query->Select("users")->Execute();
$select = $query->Select("users",['username'])->Execute(); //Retreives only the username
$select = $query->Select("users",['username','pass_hash'])->Execute(); //Retreives only the username and pass_hash

ZuluNiner\SECSQL->Insert()

params in order left to right

Required
  • $table
  • $columnValues
$insert = $query->Insert("users",["username"=>"test","pass_hash"=>password_hash("something",PASSWORD_BCRYPT)])->Execute();

ZuluNiner\SECSQL->Update()

params in order left to right

Required
  • $table
  • $columnValues
$update = $query->Update("users",["username"=>"test2","pass_hash"=>password_hash("newsomething",PASSWORD_BCRYPT)])->Execute();

ZuluNiner\SECSQL->Where()

params in order left to right

Required
  • $table
  • $columnValues
$update = $query->Update("users",["username"=>"test2"])->Where(["username","=","test"])->Execute();
$update = $query->Update("users",["username"=>"test2"])->Where(["username","LIKE","%test%"])->Execute();
$update = $query->Update("users",["username"=>"test2"])->Where([["username","=","test","AND"],["id","=",1]])->Execute();
$update = $query->Update("users",["username"=>"test2"])->Where([["username","=","test","OR"],["id","=",1]])->Execute();
$update = $query->Update("users",["username"=>"test2"])->Where([["username","=","test","OR"],["id","=",1],["active"=>1]])->Execute(); //This will add an "OR" between the first and second where clauses and will add an "AND" between the second and third clauses automatically

ZuluNiner\SECSQL->OrderBy()

params in order left to right

Required
  • $columnsOrder
$select = $query->Select("users")->OrderBy(['username','ASC'])->Execute();
$select = $query->Select("users")->OrderBy([['username','ASC'],['active'=>'DESC']])->Execute();

ZuluNiner\SECSQL->Limit

params in order left to right

Required
  • $number
Not Required: Defaults listed
  • $startAfter = 0
$select = $query->Select("users")->OrderBy(['username','ASC'])->Limit(1)->Execute();
$select = $query->Select("users")->OrderBy(['username','ASC'])->Limit(5)->Execute();
$select = $query->Select("users")->OrderBy(['username','ASC'])->Limit(5,1)->Execute(); //This will retrieve the second through sixth entry skipping the first

PLANS FOR UPDATES

+ Add One() and All() in replacement for Execute()

This will allow the developer to specify if they want one entry or all of them without having to use limit every time