Guest User

Untitled

a guest
Jan 24th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.07 KB | None | 0 0
  1.     /**
  2.      * from a query string, prepare a mysqli statement and execute it
  3.      * @param $query_str
  4.      * @param $fields array of fields that will be bound to the query
  5.      * @return the query results
  6.      */
  7.     private function build_and_execute( $query_str, $fields ) {
  8.         $dbc = \appcore\config::database( $this->_database );
  9.        
  10.         $mysqli = new \mysqli( $dbc['host'], $dbc['login'], $dbc['password'], $dbc['db_name'] );
  11.        
  12.         $statement = $mysqli->prepare( $query_str );
  13.  
  14.         # build the param 1 of bind_param(), the definition string
  15.         $bind_types = array();
  16.         foreach ( $fields as $field ) $bind_types[] = $this->_field_types[ $field ];
  17.         $bind_string = implode( '', $bind_types );
  18.  
  19.         # build the array of references
  20.         $field_values = array();
  21.         $bind_params = array();
  22.         foreach ( $fields as $i => $v ) {
  23.             $bind_var = 'bind_field_' . $i;
  24.             $$bind_var = $this->_fields[ $v ];
  25.             $bind_params[$i] = &$$bind_var;
  26.         }
  27.         array_unshift( $bind_params, $bind_string );
  28.         call_user_func_array( array( $statement, 'bind_param' ), $bind_params );
  29.  
  30.         return $statement->execute();
  31.     }
Add Comment
Please, Sign In to add comment