m = $_m; $this->pre = $_m ['pre']; $this->salt = $_m ['salt']; if (SQL_LOG) $this->f = fopen ( 'sql.log', 'w' ); $this->h = mysqli_connect ( $_m ['host'], $_m ['user'], $_m ['pass'] ); //var_dump ( $this->h ); if (! $this->h) { return false; } mysqli_select_db ( $this->h, $_m ['data'] ); return true; } private function prepare($q, $t, $p) { $t = str_split ( $t ); $v = array (); $q = str_replace ( "?", "%s", $q ); foreach ( $t as $i => $c ) { switch ($c) { case 's' : $v [] = "'" . mysqli_real_escape_string ( $this->h, $p [$i] ) . "'"; break; case 'i' : $v [] = ( int ) $p [$i]; break; case 'd' : $v [] = ( double ) $p [$i]; break; default : //return false; } } $res = array (); switch (count ( $p )) { case 0 : $res = mysqli_query ( $this->h, $q ); break; case 1 : $res = mysqli_query ( $this->h, sprintf ( $q, $v [0] ) ); break; case 2 : $res = mysqli_query ( $this->h, sprintf ( $q, $v [0], $v [1] ) ); break; case 3 : $res = mysqli_query ( $this->h, sprintf ( $q, $v [0], $v [1], $v [2] ) ); break; case 4 : $res = mysqli_query ( $this->h, sprintf ( $q, $v [0], $v [1], $v [2], $v [3] ) ); break; case 5 : $res = mysqli_query ( $this->h, sprintf ( $q, $v [0], $v [1], $v [2], $v [3], $v [4] ) ); break; case 6 : $res = mysqli_query ( $this->h, sprintf ( $q, $v [0], $v [1], $v [2], $v [3], $v [4], $v [5] ) ); break; case 7 : $res = mysqli_query ( $this->h, sprintf ( $q, $v [0], $v [1], $v [2], $v [3], $v [4], $v [5], $v [6] ) ); break; case 8 : $res = mysqli_query ( $this->h, sprintf ( $q, $v [0], $v [1], $v [2], $v [3], $v [4], $v [5], $v [6], $v [7] ) ); break; case 9 : $res = mysqli_query ( $this->h, sprintf ( $q, $v [0], $v [1], $v [2], $v [3], $v [4], $v [5], $v [6], $v [7], $v [8] ) ); break; case 10 : $res = mysqli_query ( $this->h, sprintf ( $q, $v [0], $v [1], $v [2], $v [3], $v [4], $v [5], $v [6], $v [7], $v [8], $v [9] ) ); break; case 11 : $res = mysqli_query ( $this->h, sprintf ( $q, $v [0], $v [1], $v [2], $v [3], $v [4], $v [5], $v [6], $v [7], $v [8], $v [9], $v [10] ) ); break; case 12 : $res = mysqli_query ( $this->h, sprintf ( $q, $v [0], $v [1], $v [2], $v [3], $v [4], $v [5], $v [6], $v [7], $v [8], $v [9], $v [10], $v [11] ) ); break; case 13 : $res = mysqli_query ( $this->h, sprintf ( $q, $v [0], $v [1], $v [2], $v [3], $v [4], $v [5], $v [6], $v [7], $v [8], $v [9], $v [10], $v [11], $v [12] ) ); break; case 14 : $res = mysqli_query ( $this->h, sprintf ( $q, $v [0], $v [1], $v [2], $v [3], $v [4], $v [5], $v [6], $v [7], $v [8], $v [9], $v [10], $v [11], $v [12], $v [13] ) ); break; case 15 : $res = mysqli_query ( $this->h, sprintf ( $q, $v [0], $v [1], $v [2], $v [3], $v [4], $v [5], $v [6], $v [7], $v [8], $v [9], $v [10], $v [11], $v [12], $v [13], $v [14] ) ); break; } //echo 'ERROR:'; //var_dump ( mysqli_error_list ( $this->h ) ); //echo '
'; /* * if (! $res || mysqli_errno ( $this->h )) { * return false; * } */ return $res; } public function get($que, $t = '', $p = array ()) { // echo $que; $this->cnt_get ++; if (SQL_LOG) fputs ( $this->f, str_replace ( array ( "\n", " " ), array ( ' ', '' ), $que ) . "\n" . print_r ( $p, true ) . "\n\n" ); $res = $this->prepare ( $que, $t, $p ); //var_dump ( $res ); //echo '
'; $ret = array (); // print_r($statement); if (! $res) { if (SQL_LOG) fputs ( $this->f, mysqli_error ( $this->h ) ); return false; } while ( $row = $res->fetch_assoc () ) { $ret [] = $row; } //var_dump ( $ret ); //echo '

'; return $ret; } public function single($que, $t = '', $p = array ()) { $data = $this->get ( $que, $t, $p ); if ($data) { return $data [0]; } return false; } public function list($que, $t = '', $p = array ()) { $data = $this->get ( $que, $t, $p ); if ($data) { $ret = array (); foreach ( $data as $d ) { foreach ( $d as $k => $v ) { $ret [] = $v; } } return $ret; } return false; } public function keyval($que, $k, $v, $t = '', $p = array ()) { $data = $this->get ( $que, $t, $p ); if ($data) { $ret = array (); foreach ( $data as $d ) { $ret [$d [$k]] = $d [$v]; } return $ret; } return false; } public function set($que, $t = '', $p = array (), $id = false) { // echo $que; $this->cnt_set ++; if (SQL_LOG) fputs ( $this->f, str_replace ( array ( "\n", " " ), array ( ' ', '' ), $que ) . "\n" . print_r ( $p, true ) . "\n\n" ); $res = $this->prepare ( $que, $t, $p ); if (! $res) { if (SQL_LOG) fputs ( $this->f, mysqli_error ( $this->h ) ); return false; } if ($id) { return mysqli_insert_id ( $this->h ); } else { return ( bool ) mysqli_affected_rows ( $this->h ); } } function __destruct() { mysqli_close ( $this->h ); } } ?>