| 
<?php
 namespace FormHandler;
 use PDO;
 
 class form{
 const DSN = '';
 const USER = '';
 const PASSWORD = '';
 const RETURNURL = '';
 const ERRORUPDATE = '';
 const ERRORDELETE = '';
 const ERRORINSERT = '';
 const ERRORLIST = '';
 const ERRORCONNECT = '';
 const ERRORINSERT = '';
 const INSERTCONFIRM = '';
 const ERRORSELECT = '';
 
 
 private function __connect(){
 try {
 $dbh = new \PDO(\FormHandler\form::DSN, \FormHandler\form::USER, \FormHandler\form::PASSWORD);
 return 'Connection established';
 } catch (PDOException $e) {
 return \FormHandler\form::ERRORCONNECT . $e->getMessage();
 }
 return $dbh;
 }
 public static function __init(){
 
 $referer = $_SERVER['HTTP_REFERER'];
 if($referer !== ''){
 return \FormHandler\Form::RETURNURL;
 }
 $dbh = SELF::__connect();
 $table_name = filter_var($_REQUEST['table_name'], FILTER_VALIDATE_REGEXP,array("options"=>array("regexp"=>"/^[a-zA-Z0-9]{4,122}/")));
 $insert_array = $_REQUEST['inserst_array'];
 $delete = $_REQUEST['delete'];
 $edit = $_REQUEST['edit'];
 $select = $_REQUEST['select'];
 if(isset($insert_array)){
 $i = 0;
 $arr_binder = array();
 $insert_column_sequence = array();
 foreach(array_keys($insert_array) as $insert_column){
 if(end($insert_array)){
 $insert_column .= $insert_column;
 }else{
 $insert_column .= $insert_column . ', ';
 }
 $insert_column_sequence[$i] = $insert_column;
 $arr_binder[$i] = ':' . $insert_column;
 $i++;
 }
 
 foreach(array_values($insert_array) as $insert_value){
 $insert_value .= ' ,' . $insert_value;
 }
 
 $stmt = $dbh->prepare("INSERT INTO $table_name ($insert_column) VALUES ($insert_value)");
 
 $i_bind = 0;
 foreach($arr_binder as $arr_binding){
 $stmt->bindParam($arr_binding[$i_bind], $insert_column_sequence[$i_bind], PDO::PARAM_STR);
 $i_bind++;
 }
 $stmt->execute();
 $count = $stmt->rowCount();
 if($count === $i_bind)
 return \FormHandler\form::INSERTCONFIRM;
 }else{
 return \FormHandler\form::ERRORINSERT;
 }
 
 }elseif(isset($delete)){
 $delete_key = $delete['key'];
 $delete_operator = $delete['operator'];
 $delete_value = $delete['value'];
 foreach($delete as $deleted){
 $stmt = $dbh->prepare("DELETE FROM $table_name WHERE " . ":$deleted_key " . $deleted_operator . " '$deleted_value' LIMIT 1");
 $stmt->bindParam(':' . $deleted['key'],$deleted['key'],PDO::PARAM_INT);
 $stmt->execute();
 }
 return \FormHandler\form::DELETECONFIRM;
 }elseif(isset($edit)){
 $edit_arr = array();
 $i_edit = 0;
 $edit_key = $edit['key'];
 $edit_operator = $edit['where_operator'];
 $edit_value = $edit['value'];
 foreach($edit as $edit_keys_values){
 $edit_arr[$i] = ':' . $edit_keys_values['keys'];
 $edit_value_to_update = $edit_keys_values['values_to_update'];
 $stmt = $dbh->prepare("UPDATE $table_name SET $edit_arr[$i] = $edit_value_to_update WHERE $edit_key " .  $edit_operator  . " '$edit_value'");
 $stmt->bindParam($edit_arr[$i],$edit_keys_values['values_to_update'],PDO::PARAM_STR);
 $stmt->execute();
 }
 $error = $stmt->errorInfo();
 die();
 }elseif(isset($select)){
 foreach($select as $select_values){
 if(end($select_values)){
 $select_values_for_selection .= $select_values;
 }else{
 $select_values_for_selection .= $select_values . ', ';
 }
 }
 $sql = 'SELECT ' . $selected_values_for_selection . ' FROM ' . $table_name . ' ORDER BY ' . $select['order_by_value'] . $select['order_by_order'];
 foreach ($dbh->query($sql) as $row) {
 }
 return $row;
 }else{
 return \FormHandler\form::ERRORSELECT;
 }
 }
 }
 // Example..
 //\FormHandler\form::__init();
 |