Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 7110 - (hide annotations) (download)
Wed Sep 9 11:20:52 2015 UTC (8 years, 9 months ago) by niro
File size: 2467 byte(s)
-added function ping_host() to ping clients via a socket connection to speed up things
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     $q = "INSERT INTO $db (";
37     $i = 0; foreach($vals as $k=>$v) { if($i>0) { $q.=','; } $q .= redir($k); $i++; }
38     $q .= ") VALUES (";
39     $i = 0; foreach($vals as $k=>$v) { if($i>0) { $q.=','; } $q .= "'".redir($v)."'"; $i++; }
40     $q .= ');';
41 niro 1610
42 niro 2182 $result = mysql_query($q) or die("Anfrage fehlgeschlagen: " . mysql_error());
43     }
44 niro 1610
45 niro 7091 // Führt eine Callbackfunktion für alle Elemente eines Arrays aus
46 niro 2182 function arrforeach(&$arr, $func, $params)
47     {
48     foreach($arr as $k=>$v)
49     { $func($arr[$k], $params); }
50     }
51    
52     // Holt ein array mit den Results einer MySQL-Abfrage
53     function sqlarr($query, $arrkey='', $arrval='')
54     {
55     $arr = array();
56    
57     $result = mysql_query($query) or die("Anfrage fehlgeschlagen: " . mysql_error());
58     while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
59 niro 1610 {
60 niro 2182 if($arrval=='')
61 niro 1610 {
62 niro 2182 if($arrkey=='') $arr[] = $line;
63     else $arr[$line[$arrkey]] = $line;
64 niro 1610 }
65 niro 2182 else
66     {
67     if($arrkey=='') $arr[] = $line[$arrval];
68     else $arr[$line[$arrkey]] = $line[$arrval];
69     }
70 niro 1610 }
71    
72 niro 2182 return $arr;
73     }
74 niro 1610
75 niro 2182 // Kopplung zw. arrforeach(sqlarr(...))
76     function sqlforeach($query, $func, $params)
77     { arrforeach(sqlarr($query), $func, $params); }
78 niro 1610
79 niro 2182 // ...
80     function sqlfirst($query, $prop='')
81     {
82     $result = mysql_query($query) or die("Anfrage fehlgeschlagen: " . mysql_error());
83     if($line = mysql_fetch_array($result, MYSQL_ASSOC)) $res = $line;
84     else $res = array();
85 niro 1610
86 niro 2182 if($prop!='') $res = $res[$prop];
87     return $res;
88     }
89    
90     // ...
91     function sqlcount($what)
92     {
93     $res = sqlfirst('SELECT count(*) c FROM '.$what);
94     return $res['c'];
95     }
96    
97 niro 7110 function ping_host($host, $port, $timeout)
98     {
99     $retval = 244;
100    
101     $fp = @fsockopen($host, $port, $errCode, $errStr, $timeout);
102     //echo "Ping $host:$port ==> ";
103     if ($fp) {
104     //echo 'SUCCESS';
105     fclose($fp);
106     $retval = 0;
107     } else {
108     //echo "ERROR: $errCode - $errStr";
109     $retval = 1;
110     }
111     //echo PHP_EOL;
112    
113     return $retval;
114     }
115    
116 niro 1610 ?>

Properties

Name Value
svn:executable *