Subversion Repositories stackman

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
3 daniel-mar 1
<?php
2
 
3
$vts_mysqli = null;
4
 
5
# ---
6
 
7
require __DIR__ . '/config.inc.php';
8
 
9
$db_host = $stam_cfg['db_host'];
10
$db_user = $stam_cfg['db_user'];
11
$db_pass = $stam_cfg['db_pass'];
12
$db_base = $stam_cfg['db_base'];
13
 
14
if (!db_connect($db_host, $db_user, $db_pass)) {
15
        fwrite(STDERR, "MySQL connect error\n");
16
        exit(2);
17
}
18
 
19
if (!db_select_db($db_base)) {
20
        fwrite(STDERR, "MySQL DB select error\n");
21
        db_close();
22
        exit(2);
23
}
24
 
25
register_shutdown_function('db_close');
26
 
27
# ---
28
 
29
// Sendet eine Anfrage an MySQL
30
function db_query($query, $link_identifier=NULL) {
31
        global $vts_mysqli;
32
        return (!is_null($link_identifier) ? $link_identifier : $vts_mysqli)->query($query, $resultmode=MYSQLI_STORE_RESULT);
33
}
34
 
35
// Maskiert spezielle Zeichen innerhalb eines Strings für die Verwendung in einer SQL-Anweisung
36
function db_real_escape_string($unescaped_string, $link_identifier=NULL) {
37
        global $vts_mysqli;
38
        return (!is_null($link_identifier) ? $link_identifier : $vts_mysqli)->escape_string($unescaped_string);
39
}
40
 
41
// Öffnet eine Verbindung zu einem MySQL-Server
42
function db_connect($server=null, $username=null, $password=null, $new_link=false, $client_flags=0) {
43
        global $vts_mysqli;
44
        $ary = explode(':', $server);
45
        $host = $ary[0];
46
        $port = isset($ary[1]) ? $ary[1] : ini_get("mysqli.default_port");
47
        if (is_null($server)) $port = ini_get("mysqli.default_host");
48
        if (is_null($username)) $port = ini_get("mysqli.default_user");
49
        if (is_null($password)) $port = ini_get("mysqli.default_password");
50
        $vts_mysqli = new mysqli($host, $username, $password, /*dbname*/'', $port, ini_get("mysqli.default_socket"));
51
        return (empty($vts_mysqli->connect_error) && ($vts_mysqli->connect_errno == 0)) ? $vts_mysqli : false;
52
}
53
 
54
// Schließt eine Verbindung zu MySQL
55
function db_close($link_identifier=NULL) {
56
        global $vts_mysqli;
57
        return (!is_null($link_identifier) ? $link_identifier : $vts_mysqli)->close();
58
}
59
 
60
// Auswahl einer MySQL Datenbank
61
function db_select_db($database_name, $link_identifier=NULL) {
62
        global $vts_mysqli;
63
        return (!is_null($link_identifier) ? $link_identifier : $vts_mysqli)->select_db($database_name);
64
}
65
 
66
define('DB_ASSOC', MYSQLI_ASSOC);
67
define('DB_NUM',   MYSQLI_NUM);
68
define('DB_BOTH',  MYSQLI_BOTH);
69
function db_fetch_array($result, $result_type=DB_BOTH) {
70
        return $result->fetch_array($result_type);
71
}
72
 
73
// Liefert die ID, die in der vorherigen Abfrage erzeugt wurde
74
function db_insert_id($link_identifier=NULL) {
75
        global $vts_mysqli;
76
        return (!is_null($link_identifier) ? $link_identifier : $vts_mysqli)->insert_id;
77
}
78
 
79
// Liefert die Anzahl betroffener Datensätze einer vorhergehenden MySQL Operation
80
function db_affected_rows($link_identifier=NULL) {
81
        global $vts_mysqli;
82
        return (!is_null($link_identifier) ? $link_identifier : $vts_mysqli)->affected_rows;
83
}
84
 
85
// Liefert die Anzahl der Zeilen im Ergebnis
86
function db_num_rows($result) {
87
        return $result->num_rows;
88
}
89
 
90
// Liefert den Fehlertext der zuvor ausgeführten MySQL Operation
91
function db_error($link_identifier=NULL) {
92
        global $vts_mysqli;
93
        $x = (!is_null($link_identifier) ? $link_identifier : $vts_mysqli);
94
        return !empty($x->connect_error) ? $x->connect_error : $x->error;
95
}
96