Subversion Repositories php_guestbook

Rev

Rev 2 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2 Rev 4
Line 1... Line 1...
1
<?php
1
<?php
2
 
2
 
3
function verbinden() {
3
function verbinden() {
4
        global $mysql_database, $mysql_server, $mysql_pass, $mysql_user;
4
        global $mysql_database, $mysql_server, $mysql_pass, $mysql_user;
5
        global $link2;
-
 
6
 
5
 
7
        $link2 = mysql_connect($mysql_server, $mysql_user, $mysql_pass);
6
        if (!db_connect($mysql_server, $mysql_user, $mysql_pass)) {
8
        if (!$link2) {
-
 
9
                die('<b>Verbindung zum MySQL-Server konnte nicht hergestellt werden! ('.mysql_error().')</b>');
7
                die('<b>Verbindung zum MySQL-Server konnte nicht hergestellt werden! ('.db_error().')</b>');
10
        }
8
        }
11
 
9
 
12
        if (!mysql_select_db($mysql_database)) {
10
        if (!db_select_db($mysql_database)) {
13
                die('<b>Verbindung zum MySQL-Server konnte nicht hergestellt werden! ('.mysql_error().')</b>');
11
                die('<b>Verbindung zum MySQL-Server konnte nicht hergestellt werden! ('.db_error().')</b>');
14
        }
12
        }
15
 
13
 
16
        register_shutdown_function('trennen');
14
        register_shutdown_function('trennen');
17
        mysql_select_db($mysql_database);
15
        db_select_db($mysql_database);
18
}
16
}
19
 
17
 
20
function trennen() {
18
function trennen() {
21
        global $link2;
-
 
22
        @mysql_close($link2);
19
        @db_close();
23
}
20
}
24
 
21
 
-
 
22
// Liefert die Anzahl der Zeilen im Ergebnis
-
 
23
function db_num_rows($result) {
-
 
24
        if (!$result) {
-
 
25
                $err = db_error();
-
 
26
                throw new Exception("Called db_num_rows() with an erroneous argument.".($err == '' ? '' : " Possible cause: $err"));
25
?>
27
        }
-
 
28
        return $result->num_rows;
-
 
29
}
-
 
30
 
-
 
31
// Liefert eine Ergebniszeile als Objekt
-
 
32
function db_fetch_object($result, $class_name="stdClass", $params=null) {
-
 
33
        if (!$result) {
-
 
34
                $err = db_error();
-
 
35
                throw new Exception("Called db_fetch_object() with an erroneous argument.".($err == '' ? '' : " Possible cause: $err"));
-
 
36
        }
-
 
37
        if ($params) {
-
 
38
                return $result->fetch_object($class_name, $params);
-
 
39
        } else {
-
 
40
                return $result->fetch_object($class_name);
-
 
41
        }
-
 
42
}
-
 
43
 
-
 
44
// Öffnet eine Verbindung zu einem MySQL-Server
-
 
45
function db_connect($server=null, $username=null, $password=null, $new_link=false, $client_flags=0) {
-
 
46
        global $vts_mysqli;
-
 
47
        $ary = explode(':', $server);
-
 
48
        $host = $ary[0];
-
 
49
        $ini_port = ini_get("mysqli.default_port");
-
 
50
        $port = isset($ary[1]) ? (int)$ary[1] : ($ini_port ? (int)$ini_port : 3306);
-
 
51
        if (is_null($server)) $port = ini_get("mysqli.default_host");
-
 
52
        if (is_null($username)) $port = ini_get("mysqli.default_user");
-
 
53
        if (is_null($password)) $port = ini_get("mysqli.default_password");
-
 
54
        $vts_mysqli = new mysqli($host, $username, $password, /*dbname*/'', $port, ini_get("mysqli.default_socket"));
-
 
55
        return (empty($vts_mysqli->connect_error) && ($vts_mysqli->connect_errno == 0)) ? $vts_mysqli : false;
-
 
56
}
-
 
57
 
-
 
58
// Schließt eine Verbindung zu MySQL
-
 
59
function db_close($link_identifier=NULL) {
-
 
60
        global $vts_mysqli;
-
 
61
        $li = is_null($link_identifier) ? $vts_mysqli : $link_identifier;
-
 
62
        if (is_null($li)) throw new Exception("Cannot execute db_close(). No valid connection to server.");
-
 
63
 
-
 
64
        return $li->close();
-
 
65
}
-
 
66
 
-
 
67
// Liefert den Fehlertext der zuvor ausgeführten MySQL Operation
-
 
68
function db_error($link_identifier=NULL) {
-
 
69
        global $vts_mysqli;
-
 
70
        $li = is_null($link_identifier) ? $vts_mysqli : $link_identifier;
-
 
71
        if (is_null($li)) throw new Exception("Cannot execute db_error(). No valid connection to server.");
-
 
72
 
-
 
73
        return !empty($li->connect_error) ? $li->connect_error : $li->error;
-
 
74
}
-
 
75
 
-
 
76
// Maskiert spezielle Zeichen innerhalb eines Strings für die Verwendung in einer SQL-Anweisung
-
 
77
function db_real_escape_string($unescaped_string, $link_identifier=NULL) {
-
 
78
        global $vts_mysqli;
-
 
79
        $li = is_null($link_identifier) ? $vts_mysqli : $link_identifier;
-
 
80
        if (is_null($li)) throw new Exception("Cannot execute db_real_escape_string(). No valid connection to server.");
-
 
81
 
-
 
82
        return $li->escape_string($unescaped_string);
-
 
83
}
-
 
84
 
-
 
85
// Sendet eine Anfrage an MySQL
-
 
86
function db_query($query, $link_identifier=NULL) {
-
 
87
        global $vts_mysqli;
-
 
88
        $li = is_null($link_identifier) ? $vts_mysqli : $link_identifier;
-
 
89
        if (is_null($li)) throw new Exception("Cannot execute db_query(). No valid connection to server.");
-
 
90
 
-
 
91
        return $li->query($query, $resultmode=MYSQLI_STORE_RESULT);
-
 
92
}
-
 
93
 
-
 
94
// Auswahl einer MySQL Datenbank
-
 
95
function db_select_db($database_name, $link_identifier=NULL) {
-
 
96
        global $vts_mysqli;
-
 
97
        $li = is_null($link_identifier) ? $vts_mysqli : $link_identifier;
-
 
98
        if (is_null($li)) throw new Exception("Cannot execute db_select_db(). No valid connection to server.");
-
 
99
 
-
 
100
        return $li->select_db($database_name);
-
 
101
}
-
 
102
 
-
 
103
// Liefert die ID, die in der vorherigen Abfrage erzeugt wurde
-
 
104
function db_insert_id($link_identifier=NULL) {
-
 
105
        global $vts_mysqli;
-
 
106
        $li = is_null($link_identifier) ? $vts_mysqli : $link_identifier;
-
 
107
        if (is_null($li)) throw new Exception("Cannot execute db_insert_id(). No valid connection to server.");
-
 
108
 
-
 
109
        return $li->insert_id;
-
 
110
}