diff --git a/sql.php b/sql.php index e46f09b..2c1e5fb 100644 --- a/sql.php +++ b/sql.php @@ -1,4 +1,12 @@ f = fopen ( 'sql.log', 'w' ); - $this->h = new mysqli ( $_m ['host'], $_m ['user'], $_m ['pass'], $_m ['data'] ); - if ($this->h->connect_errno) { + $this->h = mysql_connect ( $_m ['host'], $_m ['user'], $_m ['pass'] ); + if ($this->h) { return false; } + mysql_select_db ( $_m ['data'] ); return true; } + private function prepare($q, $t, $p) { + $t = str_split ( $t ); + $v = array (); + $v [] = str_replace ( "?", "%s", $q ); + foreach ( $t as $i => $c ) { + switch ($c) { + case 's' : + $v [] = "'" . mysql_real_escape_string ( $c ) . "'"; + break; + case 'i' : + $v [] = ( int ) $c; + break; + case 'd' : + $v [] = ( double ) $c; + break; + default : + return false; + } + $res = call_user_func_array ( 'mysql_query', $v ); + if (! $res) { + return false; + } + return $res; + } + } public function get($que, $t = '', $p = array ()) { // echo $que; $this->cnt_get ++; @@ -33,54 +67,17 @@ class SQL { ' ', '' ), $que ) . "\n" . print_r ( $p, true ) . "\n\n" ); - $statement = $this->h->prepare ( $que ); - switch (count ( $p )) { - case 0 : - break; - case 1 : - $statement->bind_param ( $t, $p [0] ); - break; - case 2 : - $statement->bind_param ( $t, $p [0], $p [1] ); - break; - case 3 : - $statement->bind_param ( $t, $p [0], $p [1], $p [2] ); - break; - case 4 : - $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3] ); - break; - case 5 : - $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4] ); - break; - case 6 : - $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5] ); - break; - case 7 : - $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6] ); - break; - case 8 : - $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7] ); - break; - case 9 : - $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8] ); - break; - case 10 : - $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9] ); - break; - } - $statement->execute (); - + $res = $this->prepare ( $que, $t, $p ); $ret = array (); // print_r($statement); - if (isset ( $statement->error ) && $statement->error != '') { - if (SQL_LOG) - fputs ( $this->f, $statement->error ); - return false; + if (! $res) { + if (SQL_LOG) { + fputs ( $this->f, mysql_error () ); + return false; + } } - $result = $statement->get_result (); - // print_r($result); - while ( $row = $result->fetch_assoc () ) { + while ( $row = mysql_fetch_assoc ( $res ) ) { $ret [] = $row; } return $ret; @@ -119,7 +116,6 @@ class SQL { public function set($que, $t = '', $p = array (), $id = false) { // echo $que; $this->cnt_set ++; - $statement = $this->h->prepare ( $que ); if (SQL_LOG) fputs ( $this->f, str_replace ( array ( "\n", @@ -128,72 +124,22 @@ class SQL { ' ', '' ), $que ) . "\n" . print_r ( $p, true ) . "\n\n" ); - switch (count ( $p )) { - case 0 : - break; - case 1 : - $statement->bind_param ( $t, $p [0] ); - break; - case 2 : - $statement->bind_param ( $t, $p [0], $p [1] ); - break; - case 3 : - $statement->bind_param ( $t, $p [0], $p [1], $p [2] ); - break; - case 4 : - $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3] ); - break; - case 5 : - $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4] ); - break; - case 6 : - $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5] ); - break; - case 7 : - $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6] ); - break; - case 8 : - $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7] ); - break; - case 9 : - $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8] ); - break; - case 10 : - $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9] ); - break; - case 11 : - $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9], $p [10] ); - break; - case 12 : - $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9], $p [10], $p [11] ); - break; - case 13 : - $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9], $p [10], $p [11], $p [12] ); - break; - case 14 : - $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9], $p [10], $p [11], $p [12], $p [13] ); - break; - case 15 : - $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9], $p [10], $p [11], $p [12], $p [13], $p [14] ); - break; - } - $statement->execute (); - if (isset ( $statement->error ) && $statement->error != '') { + $res = $this->prepare ( $que, $t, $p ); + + if (! $res) { if (SQL_LOG) - fputs ( $this->f, $statement->error ); + fputs ( $this->f, mysql_error () ); return false; } if ($id) { - return $statement->insert_id; + return mysql_insert_id ( $res ); } else { - return $statement->affected_rows; + return ( bool ) mysql_affected_rows ( $res ); } } function __destruct() { - if (SQL_LOG) - $this->h->close (); - // echo 'DESTROY'; + mysql_close ( $this->h ); } } ?>