Füge SQL-Klasse hinzu, um Datenbankoperationen zu verwalten, und erstelle Beispielkonfigurationsdatei für geheime Daten

This commit is contained in:
Troy Grunt
2026-02-01 17:26:49 +01:00
parent 21e2eebe48
commit 1d58f09675
4 changed files with 184 additions and 0 deletions

174
www/_sql.php Normal file
View File

@@ -0,0 +1,174 @@
<?php
class SQL {
private $h;
private $res = false;
private $m;
public $salt;
public $pre;
public $cnt_get = 0;
public $cnt_set = 0;
public function __construct() {
require_once ('secret.php');
$this->m = $_m;
$this->h = new mysqli ( $_m ['host'], $_m ['user'], $_m ['pass'], $_m ['data'] );
if ($this->h->connect_errno) {
return false;
}
return true;
}
public function get($que, $t = '', $p = array ()) {
// echo $que;
$this->cnt_get ++;
$statement = $this->h->prepare ( $que );
if (is_array ( $p )) {
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;
}
} else {
$statement->bind_param ( $t, $p );
}
$statement->execute ();
$ret = array ();
// print_r($statement);
if (isset ( $statement->error ) && $statement->error != '') {
return false;
}
$result = $statement->get_result ();
// print_r($result);
while ( $row = $result->fetch_assoc () ) {
$ret [] = $row;
}
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 ++;
$statement = $this->h->prepare ( $que );
if (is_array ( $p )) {
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;
}
} else {
$statement->bind_param ( $t, $p );
}
$statement->execute ();
if (isset ( $statement->error ) && $statement->error != '') {
return false;
}
if ($id) {
return $statement->insert_id;
} else {
return $statement->affected_rows;
}
}
function __destruct() {
// echo 'DESTROY';
}
}
?>