Magellan Linux

Contents of /alx-src/branches/alx-web-070/include/basesql.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 13242 - (show annotations) (download)
Tue Jul 9 15:21:55 2019 UTC (4 years, 9 months ago) by niro
File size: 2597 byte(s)
-be compatible with php7 and mysqli
1 <?
2
3 // Verbinden
4 include('dbconn.php');
5
6 function globaling()
7 {
8 foreach ($_REQUEST as $key => $val)
9 {
10 global ${$key};
11 ${$key} = $val;
12 }
13 }
14
15 globaling();
16
17 // Codiert die Anführungszeichen in einem String, sodass man ihn
18 // in einem SQL-Aufruf einbinden kann
19 function redir($str)
20 {
21 $slash = "\\";
22 return str_replace("'", $slash."'", str_replace($slash, $slash.$slash, $str));
23 }
24
25 function updatestr($arr)
26 {
27 $res = '';
28 foreach($arr as $k=>$v)
29 { if($res!='') $res.=','; $res.=$k.'=\''.redir($v).'\''; }
30 return $res;
31 }
32
33 // Fügt der Tabelle $db einen neuen Datensatz mit den Werten des asso. Arrays $vals hinzu
34 function sqladd($db, $vals)
35 {
36 global $DBCONN;
37
38 $q = "INSERT INTO $db (";
39 $i = 0; foreach($vals as $k=>$v) { if($i>0) { $q.=','; } $q .= redir($k); $i++; }
40 $q .= ") VALUES (";
41 $i = 0; foreach($vals as $k=>$v) { if($i>0) { $q.=','; } $q .= "'".redir($v)."'"; $i++; }
42 $q .= ');';
43
44 $result = mysqli_query($DBCONN, $q) or die("Anfrage fehlgeschlagen: " . mysqli_error($DBCONN));
45 }
46
47 // Führt eine Callbackfunktion für alle Elemente eines Arrays aus
48 function arrforeach(&$arr, $func, $params)
49 {
50 foreach($arr as $k=>$v)
51 { $func($arr[$k], $params); }
52 }
53
54 // Holt ein array mit den Results einer MySQL-Abfrage
55 function sqlarr($query, $arrkey='', $arrval='')
56 {
57 global $DBCONN;
58 $arr = array();
59
60 $result = mysqli_query($DBCONN, $query) or die("Anfrage fehlgeschlagen: " . mysqli_error($DBCONN));
61 while ($line = mysqli_fetch_array($result, MYSQLI_ASSOC))
62 {
63 if($arrval=='')
64 {
65 if($arrkey=='') $arr[] = $line;
66 else $arr[$line[$arrkey]] = $line;
67 }
68 else
69 {
70 if($arrkey=='') $arr[] = $line[$arrval];
71 else $arr[$line[$arrkey]] = $line[$arrval];
72 }
73 }
74
75 return $arr;
76 }
77
78 // Kopplung zw. arrforeach(sqlarr(...))
79 function sqlforeach($query, $func, $params)
80 {
81 $myarr = sqlarr($query);
82 arrforeach($myarr, $func, $params);
83 }
84
85 // ...
86 function sqlfirst($query, $prop='')
87 {
88 global $DBCONN;
89
90 $result = mysqli_query($DBCONN, $query) or die("Anfrage fehlgeschlagen: " . mysqli_error($DBCONN));
91 if($line = mysqli_fetch_array($result, MYSQLI_ASSOC)) $res = $line;
92 else $res = array();
93
94 if($prop!='') $res = $res[$prop];
95 return $res;
96 }
97
98 // ...
99 function sqlcount($what)
100 {
101 $res = sqlfirst('SELECT count(*) c FROM '.$what);
102 return $res['c'];
103 }
104
105 function ping_host($host, $port, $timeout)
106 {
107 $retval = 244;
108
109 $fp = @fsockopen($host, $port, $errCode, $errStr, $timeout);
110 //echo "Ping $host:$port ==> ";
111 if ($fp) {
112 //echo 'SUCCESS';
113 fclose($fp);
114 $retval = 0;
115 } else {
116 //echo "ERROR: $errCode - $errStr";
117 $retval = 1;
118 }
119 //echo PHP_EOL;
120
121 return $retval;
122 }
123
124 ?>