/** * Führt alle Querys aus dem Array aus und gibt eventuelle Daten über das Ergebnis zurück * * @param array $sqlarray Das SQL-Query-Array * @since 0.0.1 * @version 0.0.2 * @access private * @return array * @author Alexander Mieland * @copyright 2000-2004 by APP - Another PHP Program */ function DoQuerys($sqlarray) { $query_num = count($sqlarray); $ret = array(); require_once $_SESSION['APCMS']['CLASS_DIR'] . "/apcms_benchmark.class." . $_SESSION['APCMS']['SUFFIX']; $b1 = new APCMS_BENCH(); $b1->Start(); if ($query_num == 1) { $sql = _APCMS_trim($sqlarray[0]); if (preg_match("`^SELECT[\\s]+`i", $sql)) { $result = $this->unbuffered_getAll_assoc($sql); $ret['queryreturn'] = $result; } elseif (preg_match("`^UPDATE[\\s]+`i", $sql)) { $result = $this->unbuffered_query($sql); $ret['num'] = $this->affected_rows(); $ret['queryreturn'][0] = array(); } elseif (preg_match("`^INSERT[\\s]+INTO[\\s]+`i", $sql)) { $result = $this->unbuffered_query($sql); $ret['num'] = $this->affected_rows(); $ret['queryreturn'][0] = array(); } elseif (preg_match("`^DROP[\\s]+TABLE[\\s]+`i", $sql)) { $result = $this->unbuffered_query($sql); $ret['queryreturn'][0] = array(); } elseif (preg_match("`^TRUNCATE[\\s]+TABLE[\\s]+`i", $sql)) { $result = $this->unbuffered_query($sql); $ret['num'] = $this->affected_rows(); $ret['queryreturn'][0] = array(); } elseif (preg_match("`^CREATE[\\s]+TABLE[\\s]+`i", $sql)) { $result = $this->unbuffered_query($sql); $ret['queryreturn'][0] = array(); } elseif (preg_match("`^EXPLAIN[\\s]+`i", $sql)) { $result = $this->unbuffered_getAll_assoc($sql); $ret['queryreturn'] = $result; } else { $result = $this->unbuffered_query($sql); $ret['num'] = $this->affected_rows(); $ret['queryreturn'][0] = array(); } if (!isset($ret['num']) || $ret['num'] <= 0) { $ret['num'] = 0; } } else { for ($a = 0; $a < $query_num; $a++) { $sql = _APCMS_trim($sqlarray[$a]); $this->unbuffered_query($sql); } $ret['num'] = $a; } $b1->Stop(); $ret['runtime'] = $b1->BenchmarkTime(); return $ret; }
$DOCUMENT = _APCMS_UpdateCachedFile($cachedfile, $DOCUMENT_OUT); } /** Erst ab hier findet die Ausgabe statt! Vorher wurde noch nichts an den Browser geschickt! */ $fp = fopen($cachedir . "/" . $cachedfile, "rb"); $HTMLDATA = fread($fp, filesize($cachedir . "/" . $cachedfile)); fclose($fp); echo $HTMLDATA; } else { echo $DOCUMENT_OUT; } /** Debug-Informationen werden ab hier ausgegeben, falls gewünscht */ $DEBUGOUT = ""; if ($_SESSION['APCMS']['BOARD']['DEBUGGING'] == true) { $SAVEDQUERYS = $db->GetSavedQuerys(); $DEBUGOUT .= "<br><br>" . $_LANGUAGE['debug_start']; $Benchmark->Stop(); $DEBUGOUT .= "<br><br>" . $_LANGUAGE['page_loading_1'] . " " . $Benchmark->BenchmarkTime() . " " . $_LANGUAGE['page_loading_2']; $DEBUGOUT .= "<hr size=\"1\" noshade>"; $DEBUGOUT .= "<br><b>" . $_LANGUAGE['needed_querys'] . "</b> " . $db->GetNumQuerys() . "<br>"; $DEBUGOUT .= "<hr size=\"1\" noshade>"; for ($sqc = 0; $sqc < count($SAVEDQUERYS); $sqc++) { $DEBUGOUT .= "<b>Query " . ($sqc + 1) . ":</b> " . _APCMS_SpecialChars($SAVEDQUERYS[$sqc]) . "<br>"; } $DEBUGOUT .= "<hr size=\"1\" noshade>"; $DEBUGOUT .= _APCMS_ShowRequirements(); $DEBUGOUT .= _APCMS_DebugVarsOut(); echo $DEBUGOUT; } // // Die eigentliche Ausgabe endet hier //