Advertisement
ShadyPL

klasa do obsługi bazy danych (mysqli)

May 5th, 2014
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.82 KB | None | 0 0
  1. class DB
  2. {
  3.     public static $db;
  4.  
  5.     public static function connect( )
  6.     {
  7.         self::$db = new mysqli( DB_HOST, DB_USER, DB_PASS, DB_NAME, DB_PORT );
  8.  
  9.         if ( self::$db->connect_errno )
  10.         {
  11.             exit( 'Blad polaczenia z baza danych: ' . self::$db->connect_error );
  12.         }
  13.  
  14.         self::$db->set_charset( DB_CHAR );
  15.     }
  16.  
  17.     public static function query( $q, $debugger=false )
  18.     {
  19.         if ( $debugger )
  20.         {
  21.             if ( $result = self::$db->query( $q ) )
  22.             {
  23.                 return $result;
  24.             }
  25.             else
  26.             {
  27.                 exit( '<h2>DB DEBUGGER:</h2>' . self::$db->error );
  28.             }
  29.         }
  30.         else
  31.         {
  32.             return self::$db->query( $q );
  33.         }
  34.     }
  35.  
  36.     public static function num_rows( $q, $debugger=false )
  37.     {
  38.         $q = self::$db->query( $q, $debugger );
  39.         return $q->num_rows;
  40.     }
  41.  
  42.     public static function last_insert_id( )
  43.     {
  44.         return self::$db->insert_id;
  45.     }
  46.  
  47.     public static function qfetch( $result, $type='assoc' )
  48.     {
  49.         switch ( $type )
  50.         {
  51.             default:
  52.             case 'assoc':
  53.                 return $result->fetch_assoc( );
  54.                 break;
  55.  
  56.             case 'row':
  57.                 return $result->fetch_row( );
  58.                 break;
  59.  
  60.             case 'object':
  61.                 return $result->fetch_object( );
  62.                 break;
  63.         }
  64.     }
  65.  
  66.     public static function fetch( $q, $debugger=false, $type='assoc' )
  67.     {
  68.         $result = self::query( $q, $debugger );
  69.  
  70.         switch ( $type )
  71.         {
  72.             default:
  73.             case 'assoc':
  74.                 return $result->fetch_assoc( );
  75.                 break;
  76.  
  77.             case 'row':
  78.                 return $result->fetch_row( );
  79.                 break;
  80.  
  81.             case 'object':
  82.                 return $result->fetch_object( );
  83.                 break;
  84.         }
  85.     }
  86.  
  87.     public static function multi_qfetch( $result, $type='assoc' )
  88.     {
  89.         switch ( $type )
  90.         {
  91.             default:
  92.             case 'assoc':
  93.                 $data = array( );
  94.                 while( $row = $result->fetch_assoc( ) )
  95.                 {
  96.                     $data[] = $row;
  97.                 }
  98.                 return $data;
  99.                 break;
  100.  
  101.             case 'row':
  102.                 $data = array( );
  103.                 while( $row = $result->fetch_row( ) )
  104.                 {
  105.                     $data[] = $row;
  106.                 }
  107.                 return $data;
  108.                 break;
  109.  
  110.             case 'object':
  111.                 $data = array( );
  112.                 while( $row = $result->fetch_object( ) )
  113.                 {
  114.                     $data[] = $row;
  115.                 }
  116.                 return $data;
  117.                 break;
  118.         }
  119.     }
  120.  
  121.     public static function multi_fetch( $q, $debugger=false, $type='assoc' )
  122.     {
  123.         $result = self::query( $q, $debugger );
  124.  
  125.         switch ( $type )
  126.         {
  127.             default:
  128.             case 'assoc':
  129.                 $data = array( );
  130.                 while( $row = $result->fetch_assoc( ) )
  131.                 {
  132.                     $data[] = $row;
  133.                 }
  134.                 return $data;
  135.                 break;
  136.  
  137.             case 'row':
  138.                 $data = array( );
  139.                 while( $row = $result->fetch_row( ) )
  140.                 {
  141.                     $data[] = $row;
  142.                 }
  143.                 return $data;
  144.                 break;
  145.  
  146.             case 'object':
  147.                 $data = array( );
  148.                 while( $row = $result->fetch_object( ) )
  149.                 {
  150.                     $data[] = $row;
  151.                 }
  152.                 return $data;
  153.                 break;
  154.         }
  155.     }
  156.  
  157.     public static function queryClose( $query )
  158.     {
  159.         $query->close( );
  160.     }
  161.  
  162.     public static function connectionClose( )
  163.     {
  164.         self::$db->close( );
  165.     }
  166. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement