diff --git a/sql.php b/sql.php index 2c1e5fb..c7adc9a 100644 --- a/sql.php +++ b/sql.php @@ -24,21 +24,22 @@ class SQL { if (SQL_LOG) $this->f = fopen ( 'sql.log', 'w' ); - $this->h = mysql_connect ( $_m ['host'], $_m ['user'], $_m ['pass'] ); - if ($this->h) { + $this->h = mysqli_connect ( $_m ['host'], $_m ['user'], $_m ['pass'] ); + //var_dump ( $this->h ); + if (! $this->h) { return false; } - mysql_select_db ( $_m ['data'] ); + mysqli_select_db ( $this->h, $_m ['data'] ); return true; } private function prepare($q, $t, $p) { $t = str_split ( $t ); $v = array (); - $v [] = str_replace ( "?", "%s", $q ); + $q = str_replace ( "?", "%s", $q ); foreach ( $t as $i => $c ) { switch ($c) { case 's' : - $v [] = "'" . mysql_real_escape_string ( $c ) . "'"; + $v [] = "'" . mysqli_real_escape_string ( $this->h, $c ) . "'"; break; case 'i' : $v [] = ( int ) $c; @@ -47,12 +48,70 @@ class SQL { $v [] = ( double ) $c; break; default : - return false; + //return false; } - $res = call_user_func_array ( 'mysql_query', $v ); - if (! $res) { - return false; + var_dump ( $q ); + var_dump ( $t ); + var_dump ( $p ); + $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; } } @@ -68,18 +127,22 @@ class SQL { '' ), $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, mysql_error () ); - return false; - } + if (SQL_LOG) + fputs ( $this->f, mysqli_error ( $this->h ) ); + return false; } - while ( $row = mysql_fetch_assoc ( $res ) ) { + while ( $row = $res->fetch_assoc () ) { $ret [] = $row; } + + //var_dump ( $ret ); + //echo '

'; return $ret; } public function single($que, $t = '', $p = array ()) { @@ -128,18 +191,18 @@ class SQL { if (! $res) { if (SQL_LOG) - fputs ( $this->f, mysql_error () ); + fputs ( $this->f, mysqli_error () ); return false; } if ($id) { - return mysql_insert_id ( $res ); + return mysqli_insert_id ( $this->h ); } else { - return ( bool ) mysql_affected_rows ( $res ); + return ( bool ) mysqli_affected_rows ( $this->h ); } } function __destruct() { - mysql_close ( $this->h ); + mysqli_close ( $this->h ); } } ?>