/**
  * 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;
 }
Example #2
0
        $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
//