Advertisement
MartinMiksovsky

Untitled

May 24th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.46 KB | None | 0 0
  1.    
  2. //-------------------------------------------ČÁST QUERY BUILDERU ---------------//
  3.  
  4.     public function insertRow($table, array $values)
  5.     {
  6.         $stmt = DbInPrep::insert(self::getColumns($table), $values);
  7.         $query = $this->PDO_connection->prepare("INSERT INTO `$table` ({$stmt['columns']}) VALUES ({$stmt['values']})");
  8.         return $query->execute($values);
  9.     }
  10.     public function getColumns($table)
  11.     {
  12.         $query = $this->PDO_connection->prepare("DESCRIBE $table");
  13.         $query->execute();
  14.         return $query->fetchAll(PDO::FETCH_COLUMN);
  15.     }
  16.  
  17.  
  18.  
  19.  
  20. //-----------------------------třída pro přípravu sql stringu pro insert--------------------------------//
  21.  
  22. class DbInPrep
  23. {
  24.     public static function insert($columns, $values)
  25.     {
  26.         self::verifyParamCount($columns, $values) or die("Invalid input");
  27.  
  28.         return  [
  29.                 'columns' => DbInPrep::prepareColString($columns),
  30.                 'values' => DbInPrep::prepareValString($values)
  31.                 ];
  32.  
  33.     }
  34.     protected static function prepareColString($columns)
  35.     {
  36.         return implode(", ", $columns);
  37.     }
  38.     protected static function prepareValString($values)
  39.     {
  40.         return implode(",",array_fill(0, sizeof($values), "?"));
  41.     }
  42.     protected static function verifyParamCount($columns, $values)
  43.     {
  44.         if(sizeof($columns) == sizeof($values))
  45.             return 1;
  46.         else
  47.             return 0;
  48.     }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement