Helix Installation   Getting Started   Reference Documentation   Global Functions   Quick Start
ModulesClassesFunctions
 

Class Reference

class db

Helixdb
Hide Inherited MembersHelix Core
Description
No description.
 
Constants
constantMSSQL_LE ["["][ db ]
constantMSSQL_RE ["]"][ db ]
constantMSSQL_PORT ["1433"][ db ]
constantMYSQL_LE ["`"][ db ]
constantMYSQL_RE ["`"][ db ]
constantMYSQL_PORT ["3306"][ db ]
constantORACLE_LE ["""][ db ]
constantORACLE_RE ["""][ db ]
constantORACLE_PORT ["1521"][ db ]
 
Properties
publicdatabase[ db ]
publicerrno[ db ]
publicerror[ db ]
publicinsert_id[ db ]
publicle[ db ]
publiclid[ db ]
publicpassword[ db ]
publicport[ db ]
privateqid[ db ]
publicre[ db ]
publicrecord[ db ]
publicrow[ db ]
publicserver[ db ]
publicserver_type[ db ]
publicusername[ db ]
 
Methods
publicaffected_rows ( )[ db ]
Parameters
No parameters for this method
Code
207  function affected_rows()
208  {
209      if ($this->qid)
210      {
211          if($this->server_type=="MYSQL")
212          {
213              return @mysql_affected_rows($this->lid);
214          }
215          else if($this->server_type=="MSSQL")
216          {
217              return @mssql_affected_rows($this->lid);
218          }
219      }
220      else
221      {
222          return false;
223      }
224  }
publicb ( field_name )[ db ]
Parameters
requiredfield_name
Code
178  function b($field_name)
179  {
180      return keyval($this->record,$field_name);
181  }
publicconnect ( )[ db ]
Parameters
No parameters for this method
Code
032  function connect()
033  {
034      $s = $this->server;
035      $d = $this->database;
036      $u = $this->username;
037      $p = $this->password;
038      $pt = $this->port;
039      if ($this->lid == 0)
040      {
041          try
042          {
043              if($this->server_type=="MYSQL")
044              {
045                  $this->lid = mysql_connect($s,$u,$p);
046              }
047              else if ($this->server_type=="MSSQL")
048              {
049                  $this->lid = mssql_connect("$s,$pt",$u,$p);
050              }
051          }
052          catch (Exception $e)
053          {
054              echo "<BR>Exception: ".$e->getMessage()."\n";
055              echo "<BR>Can't connect to ".$s." using user:".$u."\n";
056          }
057          if (!$this->lid)
058          {
059              $this->halt("Cannot connect to database server: $s",true);
060              return false;
061          }
062      }
063 
064      if (strlen($d) > 0)
065      {
066          if($this->server_type=="MYSQL")
067          {
068              if (!@mysql_select_db($d,$this->lid))
069              {
070                  $this->halt("Cannot connect to database: " . $d);
071                  return false;
072              }
073          }
074          else if ($this->server_type=="MSSQL")
075          {
076              if (!@mssql_select_db($d))
077              {
078                  $this->halt("Cannot connect to database: " . $d);
079                  return false;
080              }
081          }
082      }
083      return $this->lid;
084  }
publicf ( field_name )[ db ]
Parameters
requiredfield_name
Code
173  function f($field_name)
174  {
175      return keyval($this->record,$field_name);
176  }
publicfound_rows ( )[ db ]
Parameters
No parameters for this method
Code
226  function found_rows()
227  {
228      // USE SELECT SQL_CALC_FOUND_ROWS TO GET COUNT BEFORE LIMIT IS APPLIED
229      return keyval(@mysql_fetch_array(@mysql_query("SELECT FOUND_ROWS();",$this->lid)),0);
230  }
public staticget_cols ( tablename [""] , dbname ["h266209_helix"] )[ db ]
Parameters
optionaltablename [""]
optionaldbname ["h266209_helix"]
Code
251  public static function get_cols($__tablename="",$__dbname=DB_NAME)
252  {
253      $cols = array();
254      if(DB_TYPE=="MYSQL"//this is from the global config
255      {
256          $db = new db;
257          $q = "SHOW COLUMNS FROM $__tablename FROM $__dbname";
258          $db->query($q);
259          while ($db->next_record())
260          {
261              $col = new db_column($__tablename,$db->f("Field"),$__dbname);
262              $cols[]= $col;
263          }
264      }
265      return $cols;
266  }
publicget_prefixes ( )[ db ]
Parameters
No parameters for this method
Code
278  public function get_prefixes()
279  {
280      $prefix = array();
281      if($this->server_type=="MYSQL")
282      {
283          $q = "SHOW TABLES;";
284          $this->query($q);
285          while ($this->next_record())
286          {
287              $tablename = $this->record[0];
288              $parts = explode("_",$tablename);
289              if(count($parts>0))
290              {
291                  $prefix[]=$parts[0];
292              }
293          }
294      }
295      if($this->server_type=="MSSQL")
296      {
297          $q = "SHOW TABLES;";
298          $this->query($q);
299          while ($this->next_record())
300          {
301              $tablename = $this->record[0];
302              $parts = explode("_",$tablename);
303              if(count($parts>0))
304              {
305                  $prefix[]=$parts[0];
306              }
307          }
308      }
309      $prefix=array_unique($prefix);
310      sort($prefix);
311      return $prefix;
312  }
publichalt ( msg )[ db ]
Parameters
requiredmsg
Code
232  function halt($msg)
233  {
234      if($this->server_type=="MYSQL")
235      {
236          $this->error = @mysql_error($this->lid);
237          $this->errno = @mysql_errno($this->lid);
238          $m  = "MYSQL ERROR " . $this->errno . " : " . $this->error . " [ " . $msg . " ]";
239      }
240      else if($this->server_type=="MSSQL")
241      {
242          $m  = "MSSQL ERROR";
243      }
244      else
245      {
246          $m = "";
247      }
248      trigger_error($m,E_USER_WARNING);
249  }
publicnext_record ( assoc_only [false] )[ db ]
Parameters
optionalassoc_only [false]
Code
151  function next_record($assoc_only=false)
152  {
153      if (!$this->qid)
154      {
155          $this->halt("next_record called with no query pending.");
156          return 0;
157      }
158      if($this->server_type=="MYSQL")
159      {
160          $this->record = @mysql_fetch_array($this->qid,($assoc_only ? MYSQL_ASSOC : MYSQL_BOTH));
161          $this->errno  = mysql_errno();
162          $this->error  = mysql_error();
163      }
164      else if($this->server_type=="MSSQL")
165      {
166          $this->record = @mssql_fetch_array($this->qid,($assoc_only ? MSSQL_ASSOC : MSSQL_BOTH));
167      }
168      $this->row += 1;
169      $stat = is_array($this->record);
170      return $stat;
171  }
publicnum_rows ( )[ db ]
Parameters
No parameters for this method
Code
188  function num_rows()
189  {
190      if ($this->qid)
191      {
192          if($this->server_type=="MYSQL")
193          {
194              return @mysql_num_rows($this->qid);
195          }
196          else if($this->server_type=="MSSQL")
197          {
198              return @mssql_num_rows($this->qid);
199          }
200      }
201      else
202      {
203          return false;
204      }
205  }
publicp ( field_name )[ db ]
Parameters
requiredfield_name
Code
183  function p($field_name)
184  {
185      print $this->record[$field_name];
186  }
publicparam_string ( value )[ db ]
Parameters
requiredvalue
Code
273  public function param_string($value)
274  {
275      return $this->le . $value . $this->re;
276  }
publicquery ( q )[ db ]
Parameters
requiredq
Code
086  function query($q)
087  {
088      global $num_queries;
089      if (empty($q))
090      {
091          return 0;
092      }
093      if (!$this->connect())
094      {
095          return false;
096      }
097      if ($this->qid)
098      {
099          if($this->server_type=="MYSQL")
100          {
101              @mysql_free_result($this->qid);
102          }
103          else if ($this->server_type=="MSSQL")
104          {
105              @mssql_free_result($this->qid);
106          }
107          $this->qid = 0;
108      }
109 
110      $queries = is_array($q) ? $q : array($q);
111 
112      foreach ($queries as $q)
113      {
114          if (strlen(trim($q)) > 0)
115          {
116              if($this->server_type=="MYSQL")
117              {
118                  $this->qid = mysql_query($q, $this->lid);
119              }
120              else if ($this->server_type=="MSSQL")
121              {
122                  $this->qid = mssql_query($q, $this->lid);
123              }
124          }
125      }
126 
127      $this->row = 0;
128 
129      if($this->server_type=="MYSQL")
130      {
131          $this->errno = mysql_errno();
132          $this->error = mysql_error();
133          if (!$this->qid)
134          {
135              $this->halt($q);
136          }
137          $this->insert_id = mysql_insert_id($this->lid);
138      }
139      else if ($this->server_type=="MSSQL")
140      {
141          $query        = 'select SCOPE_IDENTITY() AS last_insert_id';
142          $query_result = mssql_query($query) or die('Query failed: '.$query);
143          $this->insert_id = mssql_fetch_object($query_result);
144          mssql_free_result($query_result);
145      }
146 
147      $num_queries++;
148      return $this->qid;
149  }
publicvalue_string ( value )[ db ]
Parameters
requiredvalue
Code
268  public function value_string($value)
269  {
270      return is_null($value) ? "null" : "'" . sql_real_escape_string($value,$this->server_type) . "'";
271  }
 
Accessors
publiccols[ db ]
Code
251  public static function get_cols($__tablename="",$__dbname=DB_NAME)
252  {
253      $cols = array();
254      if(DB_TYPE=="MYSQL"//this is from the global config
255      {
256          $db = new db;
257          $q = "SHOW COLUMNS FROM $__tablename FROM $__dbname";
258          $db->query($q);
259          while ($db->next_record())
260          {
261              $col = new db_column($__tablename,$db->f("Field"),$__dbname);
262              $cols[]= $col;
263          }
264      }
265      return $cols;
266  }
publicprefixes[ db ]
Code
278  public function get_prefixes()
279  {
280      $prefix = array();
281      if($this->server_type=="MYSQL")
282      {
283          $q = "SHOW TABLES;";
284          $this->query($q);
285          while ($this->next_record())
286          {
287              $tablename = $this->record[0];
288              $parts = explode("_",$tablename);
289              if(count($parts>0))
290              {
291                  $prefix[]=$parts[0];
292              }
293          }
294      }
295      if($this->server_type=="MSSQL")
296      {
297          $q = "SHOW TABLES;";
298          $this->query($q);
299          while ($this->next_record())
300          {
301              $tablename = $this->record[0];
302              $parts = explode("_",$tablename);
303              if(count($parts>0))
304              {
305                  $prefix[]=$parts[0];
306              }
307          }
308      }
309      $prefix=array_unique($prefix);
310      sort($prefix);
311      return $prefix;
312  }
Get Helix PHP Framework at SourceForge.net. Fast, secure and Free Open Source software downloads