Hey allemaal,
Ik heb de volgende functie geschreven die een array gebruikt in de WHERE clause.
Als ik de functie aanroep, krijg ik echter een heel apart resultaat.
De code zou alle rijen terug moeten geven waar host niet voorkomt in de array.
Ik krijg nu maar 1 rij terug en die rij bevat ook nog de hostname die juist overgeslagen zou moeten worden.
Code:
Weten jullie wat er mis is ?
Ik heb de volgende functie geschreven die een array gebruikt in de WHERE clause.
Als ik de functie aanroep, krijg ik echter een heel apart resultaat.
De code zou alle rijen terug moeten geven waar host niet voorkomt in de array.
Ik krijg nu maar 1 rij terug en die rij bevat ook nog de hostname die juist overgeslagen zou moeten worden.
Code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| <?php function getServices($intTid, $uid) { $qryRemHosts = "SELECT removed_hosts FROM usr_preferences WHERE uid='$uid'"; try { if (!$rsltRemHosts = mysql_query($qryRemHosts)) { $mysql_error = mysql_error(); throw new Exception($mysql_error); return false; } /* if (!$rsltLastServices = mysql_query($qryLastServices)) { $mysql_error = mysql_error(); throw new Exception($mysql_error); return false; } */ else { $arrRemHosts = mysql_fetch_array($rsltRemHosts); $arrRemHosts = explode(";", $arrRemHosts[0]); //arrRemHosts looks like: Array ( [0] => localhost [1] => VOCNL01S002 ) $rsltLastServices = mysql_query ("SELECT * FROM nagios_services WHERE tid = '$intTid' AND host NOT IN ('".implode("', '", $arrRemHosts)."') ORDER BY host") or die(mysql_error()); $i = 0; $arrLastServices = array(); while($row = mysql_fetch_array($rsltLastServices)) { while(list($myVariableName,$sqlFieldName)=each($row)) { $arrLastServices[$i][$myVariableName] = $sqlFieldName; } } $i++; return $arrLastServices; } } catch (Exception $e) { $error = $e->getMessage(); $script = $e->getFile(); log_error($error, $script); return "An unexpected error has occured. This error has been logged and will be investigated as soon as possible."; } } ?> |
Weten jullie wat er mis is ?
You definitely rate about a 9.0 on my weird-shit-o-meter
Chuck Norris doesn't dial the wrong number. You answer the wrong phone.