Annotation of /alx-src/branches/alx-web-070/include/basesql.php
Parent Directory | Revision Log
Revision 13242 -
(hide annotations)
(download)
Tue Jul 9 15:21:55 2019 UTC (4 years, 10 months ago) by niro
File size: 2597 byte(s)
Tue Jul 9 15:21:55 2019 UTC (4 years, 10 months ago) by niro
File size: 2597 byte(s)
-be compatible with php7 and mysqli
1 | niro | 1610 | <? |
2 | |||
3 | niro | 2182 | // Verbinden |
4 | include('dbconn.php'); | ||
5 | niro | 1610 | |
6 | niro | 7092 | function globaling() |
7 | { | ||
8 | foreach ($_REQUEST as $key => $val) | ||
9 | { | ||
10 | global ${$key}; | ||
11 | ${$key} = $val; | ||
12 | } | ||
13 | } | ||
14 | |||
15 | globaling(); | ||
16 | |||
17 | niro | 7091 | // Codiert die Anführungszeichen in einem String, sodass man ihn |
18 | niro | 2182 | // 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 | niro | 1610 | |
25 | niro | 2182 | 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 | niro | 1610 | |
33 | niro | 7091 | // Fügt der Tabelle $db einen neuen Datensatz mit den Werten des asso. Arrays $vals hinzu |
34 | niro | 2182 | function sqladd($db, $vals) |
35 | { | ||
36 | niro | 13242 | global $DBCONN; |
37 | |||
38 | niro | 2182 | $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 | niro | 1610 | |
44 | niro | 13242 | $result = mysqli_query($DBCONN, $q) or die("Anfrage fehlgeschlagen: " . mysqli_error($DBCONN)); |
45 | niro | 2182 | } |
46 | niro | 1610 | |
47 | niro | 7091 | // Führt eine Callbackfunktion für alle Elemente eines Arrays aus |
48 | niro | 2182 | 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 | niro | 13242 | global $DBCONN; |
58 | niro | 2182 | $arr = array(); |
59 | |||
60 | niro | 13242 | $result = mysqli_query($DBCONN, $query) or die("Anfrage fehlgeschlagen: " . mysqli_error($DBCONN)); |
61 | while ($line = mysqli_fetch_array($result, MYSQLI_ASSOC)) | ||
62 | niro | 1610 | { |
63 | niro | 2182 | if($arrval=='') |
64 | niro | 1610 | { |
65 | niro | 2182 | if($arrkey=='') $arr[] = $line; |
66 | else $arr[$line[$arrkey]] = $line; | ||
67 | niro | 1610 | } |
68 | niro | 2182 | else |
69 | { | ||
70 | if($arrkey=='') $arr[] = $line[$arrval]; | ||
71 | else $arr[$line[$arrkey]] = $line[$arrval]; | ||
72 | } | ||
73 | niro | 1610 | } |
74 | |||
75 | niro | 2182 | return $arr; |
76 | } | ||
77 | niro | 1610 | |
78 | niro | 2182 | // Kopplung zw. arrforeach(sqlarr(...)) |
79 | function sqlforeach($query, $func, $params) | ||
80 | niro | 13242 | { |
81 | $myarr = sqlarr($query); | ||
82 | arrforeach($myarr, $func, $params); | ||
83 | } | ||
84 | niro | 1610 | |
85 | niro | 2182 | // ... |
86 | function sqlfirst($query, $prop='') | ||
87 | { | ||
88 | niro | 13242 | 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 | niro | 2182 | else $res = array(); |
93 | niro | 1610 | |
94 | niro | 2182 | 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 | niro | 7110 | 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 | niro | 1610 | ?> |