dürfte passen

This commit is contained in:
troy grunt 2021-04-01 21:24:02 +02:00
parent 0d1c93bdb5
commit c414ec0917

99
sql.php
View File

@ -24,21 +24,22 @@ class SQL {
if (SQL_LOG) if (SQL_LOG)
$this->f = fopen ( 'sql.log', 'w' ); $this->f = fopen ( 'sql.log', 'w' );
$this->h = mysql_connect ( $_m ['host'], $_m ['user'], $_m ['pass'] ); $this->h = mysqli_connect ( $_m ['host'], $_m ['user'], $_m ['pass'] );
if ($this->h) { //var_dump ( $this->h );
if (! $this->h) {
return false; return false;
} }
mysql_select_db ( $_m ['data'] ); mysqli_select_db ( $this->h, $_m ['data'] );
return true; return true;
} }
private function prepare($q, $t, $p) { private function prepare($q, $t, $p) {
$t = str_split ( $t ); $t = str_split ( $t );
$v = array (); $v = array ();
$v [] = str_replace ( "?", "%s", $q ); $q = str_replace ( "?", "%s", $q );
foreach ( $t as $i => $c ) { foreach ( $t as $i => $c ) {
switch ($c) { switch ($c) {
case 's' : case 's' :
$v [] = "'" . mysql_real_escape_string ( $c ) . "'"; $v [] = "'" . mysqli_real_escape_string ( $this->h, $c ) . "'";
break; break;
case 'i' : case 'i' :
$v [] = ( int ) $c; $v [] = ( int ) $c;
@ -47,12 +48,70 @@ class SQL {
$v [] = ( double ) $c; $v [] = ( double ) $c;
break; break;
default : default :
return false; //return false;
} }
$res = call_user_func_array ( 'mysql_query', $v ); var_dump ( $q );
if (! $res) { var_dump ( $t );
return false; 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 '<br>';
/*
* if (! $res || mysqli_errno ( $this->h )) {
* return false;
* }
*/
return $res; return $res;
} }
} }
@ -68,18 +127,22 @@ class SQL {
'' ''
), $que ) . "\n" . print_r ( $p, true ) . "\n\n" ); ), $que ) . "\n" . print_r ( $p, true ) . "\n\n" );
$res = $this->prepare ( $que, $t, $p ); $res = $this->prepare ( $que, $t, $p );
//var_dump ( $res );
//echo '<hr>';
$ret = array (); $ret = array ();
// print_r($statement); // print_r($statement);
if (! $res) { if (! $res) {
if (SQL_LOG) { if (SQL_LOG)
fputs ( $this->f, mysql_error () ); fputs ( $this->f, mysqli_error ( $this->h ) );
return false; return false;
}
} }
while ( $row = mysql_fetch_assoc ( $res ) ) { while ( $row = $res->fetch_assoc () ) {
$ret [] = $row; $ret [] = $row;
} }
//var_dump ( $ret );
//echo '<hr><hr>';
return $ret; return $ret;
} }
public function single($que, $t = '', $p = array ()) { public function single($que, $t = '', $p = array ()) {
@ -128,18 +191,18 @@ class SQL {
if (! $res) { if (! $res) {
if (SQL_LOG) if (SQL_LOG)
fputs ( $this->f, mysql_error () ); fputs ( $this->f, mysqli_error () );
return false; return false;
} }
if ($id) { if ($id) {
return mysql_insert_id ( $res ); return mysqli_insert_id ( $this->h );
} else { } else {
return ( bool ) mysql_affected_rows ( $res ); return ( bool ) mysqli_affected_rows ( $this->h );
} }
} }
function __destruct() { function __destruct() {
mysql_close ( $this->h ); mysqli_close ( $this->h );
} }
} }
?> ?>