Subversion Repositories phpLibraryV2

Rev

Rev 35 | Rev 37 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 35 Rev 36
Line 51... Line 51...
51
             // an array that contains the meta data from the query for each column
51
             // an array that contains the meta data from the query for each column
52
             'columnMetaData' => array(),
52
             'columnMetaData' => array(),
53
             // number of columns (fields) returned by query (select only)
53
             // number of columns (fields) returned by query (select only)
54
             'numfields' => 0,
54
             'numfields' => 0,
55
             // type of data returned, array of array, array of hash, or both
55
             // type of data returned, array of array, array of hash, or both
56
             'fetchType' => MYSQLI_ASSOC,
56
             'fetchType' => MYSQLI_BOTH,
57
             // human readable form of fetchType
57
             // human readable form of fetchType
58
             'returntype' => 'associative',
58
             'returnType' => 'both',
59
             // array of any errors which occurred
59
             // array of any errors which occurred
60
             'error' => array(),
60
             'error' => array(),
61
             // if set to a table name, all modifying queries are written to it
61
             // if set to a table name, all modifying queries are written to it
62
             // must contain, at a minimum, columns whenrun timestamp, whoran varchar and query text
62
             // must contain, at a minimum, columns whenrun timestamp, whoran varchar and query text
63
             // can be created with $this->buildAuditTable
63
             // can be created with $this->buildAuditTable
Line 181... Line 181...
181
      /*
181
      /*
182
       * doSQL
182
       * doSQL
183
       * Parameters: $query - string or array of strings to be executed
183
       * Parameters: $query - string or array of strings to be executed
184
       *             $parameters - hash used to pass additional parameters, to include
184
       *             $parameters - hash used to pass additional parameters, to include
185
       *                           $parameters['username'] = 'fred'; // username for logging
185
       *                           $parameters['username'] = 'fred'; // username for logging
186
       *                           $parameters['returntype'] = 'hash'; or array or both
186
       *                           $parameters['returnType'] = 'hash'; or array or both
187
       * 
187
       * 
188
       * executes one or more queries
188
       * executes one or more queries
189
       *
189
       *
190
       * If the query is one of select, show, describe or explain, it must
190
       * If the query is one of select, show, describe or explain, it must
191
       * be a single string. It will return the data results in a hash
191
       * be a single string. It will return the data results in a hash
Line 227... Line 227...
227
                  $errors[] = array( 'id' => $this->errno, 'message' => $this->error );
227
                  $errors[] = array( 'id' => $this->errno, 'message' => $this->error );
228
               } else {
228
               } else {
229
                  $this->parameters['columnMetaData'] = $sth->fetch_fields(); // get metadata
229
                  $this->parameters['columnMetaData'] = $sth->fetch_fields(); // get metadata
230
                  $this->parameters['returnData'] = array(); // we'll put all the results in an array
230
                  $this->parameters['returnData'] = array(); // we'll put all the results in an array
231
                  // $fetchtype returns either an array of array, array of hash, or both. Default is array of hash
231
                  // $fetchtype returns either an array of array, array of hash, or both. Default is array of hash
232
                  if ( isset( $this->parameters['returntype'] ) ) {
232
                  if ( isset( $this->parameters['returnType'] ) ) {
233
                     $this->parameters[ 'fetchType' ] = $this->parameters['returntype'] == 'array' ? MYSQLI_NUM : (
233
                     $this->parameters[ 'fetchType' ] = $this->parameters['returnType'] == 'array' ? MYSQLI_NUM : (
234
                           ( $this->parameters['returntype'] == 'both' ) ? MYSQLI_BOTH : MYSQLI_ASSOC
234
                           ( $this->parameters['returnType'] == 'both' ) ? MYSQLI_BOTH : MYSQLI_ASSOC
235
                           );
235
                           );
236
                  } else { // default is associative array (hash)
236
                  } else { // default is both (hash and numeric)
237
                     $this->parameters[ 'fetchType' ] =  MYSQLI_ASSOC;
237
                     $this->parameters[ 'fetchType' ] =  MYSQLI_BOTH;
238
                     $this->parameters['returntype'] = 'associative';
238
                     $this->parameters['returnType'] = 'both';
239
                  }
239
                  }
240
                  // slurp all the stuff in
240
                  // slurp all the stuff in
241
                  while ( $values =  $sth->fetch_array( $this->parameters[ 'fetchType' ] ) ) {
241
                  while ( $values =  $sth->fetch_array( $this->parameters[ 'fetchType' ] ) ) {
242
                     $this->parameters[ 'returnData' ][] = $values;
242
                     $this->parameters[ 'returnData' ][] = $values;
243
                  }
243
                  }
Line 314... Line 314...
314
       * Otherwise, function returns true
314
       * Otherwise, function returns true
315
       */
315
       */
316
      public function getOneRow( $sql = null ) {
316
      public function getOneRow( $sql = null ) {
317
         if ( isset( $sql ) )
317
         if ( isset( $sql ) )
318
            $this->parameters[ 'query' ] = $sql;
318
            $this->parameters[ 'query' ] = $sql;
319
         $save = $this->parameters[ 'returntype' ];
319
         $save = $this->parameters[ 'returnType' ];
-
 
320
         //print "<pre>" . print_r( $this->parameters['query'], true) . '</pre>';
320
         $useAssociativeArray = true;
321
         $useAssociativeArray = true;
321
         $this->run();
322
         $this->run();
322
         $useAssociativeArray = $save;
323
         $useAssociativeArray = $save;
323
         if ( $this->parameters[ 'rowsAffected' ] == 1 ) {
324
         if ( $this->parameters[ 'rowsAffected' ] == 1 ) {
324
            $this->parameters[ 'returnData' ] = $this->parameters[ 'returnData' ][0];
325
            $this->parameters[ 'returnData' ] = $this->parameters[ 'returnData' ][0];
Line 333... Line 334...
333
      // or null no value returned
334
      // or null no value returned
334
      public function getOneDBValue( $sql = null ) {
335
      public function getOneDBValue( $sql = null ) {
335
         //print '<pre>' . $sql . '</pre>';
336
         //print '<pre>' . $sql . '</pre>';
336
         if ( isset( $sql ) )
337
         if ( isset( $sql ) )
337
            $this->parameters[ 'query' ] = $sql;
338
            $this->parameters[ 'query' ] = $sql;
338
         $save = $this->parameters['returntype'];
339
         $save = $this->parameters['returnType'];
339
         $this->parameters['returntype'] = 'array';
340
         $this->parameters['returnType'] = 'array';
340
         $this->run();
341
         $this->run();
341
         $this->parameters['returntype'] = $save;
342
         $this->parameters['returnType'] = $save;
342
//         print "<pre>" . print_r($this->parameters,true ) . "</pre>";
343
         //print "<pre>" . print_r($this->parameters,true ) . "</pre>";
343
         return $this->parameters[ 'rowsAffected' ] ? $this->parameters[ 'returnData' ][0][0] : null;
344
         return $this->parameters[ 'rowsAffected' ] ? $this->parameters[ 'returnData' ][0][0] : null;
344
      }
345
      }
345
 
346
 
346
      /*
347
      /*
347
       * function will attempt to make a constant ($value) safe for SQL depending on the type.
348
       * function will attempt to make a constant ($value) safe for SQL depending on the type.