phpbar.de logo

Mailinglisten-Archive

[php] Wie leistungsstart ist PHP_MySQL

[php] Wie leistungsstart ist PHP_MySQL

Sebastian Mendel lists at sebastianmendel.de
Son Okt 29 11:33:37 CET 2006


René Thiel schrieb:

> <?php
> .....
>      $sql  = "INSERT INTO `".$Jahr."_".$Standort."` ( ";
>      $sql .= "  `DateTime` ";
>      $sql .= ", `IP` ";
>      $sql .= ", `Call` ";
>      $sql .= ", `Typ` ";
>      $sql .= ", `Verbindungen` ";
>      $sql .= ", `Kommentar` ";
>      $sql .= ") VALUES ";
> 
>      foreach ($teile as $buffer)
>      {
>       if (preg_match("'( CALL )'",$buffer))
>       {
>        $teiler_1 = split(" ",$buffer);
>        $DateTime = $Jahr."-".$month[$teiler_1[0]]."-".$teiler_1[1]." ".$teiler_1[2];
>        $IP = $teiler_1[3];
>        $Call = $teiler_1[4]." ".$teiler_1[5];
>        $Typ = $teiler_1[6];
>        $entferner = "/".$teiler_1[0]." ".$teiler_1[1]." ".$teiler_1[2]." ".$teiler_1[3]." ".$teiler_1[4]." ".$teiler_1[5]."
> ".$teiler_1[6]."/";
>        $teiler_3 = ltrim(preg_replace($entferner,"",$buffer));
>        $teiler_4 = split(" ",$teiler_3);
>        $Verbindungen = $teiler_4[0];
>        $Verbindungen_x = "'".quotemeta($Verbindungen)."'";
>        $Verbindungen = mysql_real_escape_string($Verbindungen);
>        $Kommentar = ltrim(@preg_replace($Verbindungen_x,"",$teiler_3));
>        $Kommentar = mysql_real_escape_string($Kommentar);
> 
>        if ($Zaehler > 0) {$sql .= ", ";}
>        $Zaehler++;
>        $sql .= "( ";
>        $sql .= "  '".$DateTime."' ";
>        $sql .= ", '".$IP."' ";
>        $sql .= ", '".$Call."' ";
>        $sql .= ", '".$Typ."' ";
>        $sql .= ", '".$Verbindungen."' ";
>        $sql .= ", '".$Kommentar."' ";
>        $sql .= ") ";
>       }
>      }
>      $ergebnis = @mysql_query($sql, $verbindung);
> .....
> ?>
> 
> Aus:
> Jul 31 12:26:31 172.16.199.1 CALL 3 A:Disc  523->808704 G729AB,60(56,3)/G729AB,0(0,0) TEL2:523:->GW1:808704: Cause: Normal call
> clearing
> mache ich damit:
> INSERT INTO `2006_816` (`DateTime`, `IP`, `Call`, `Typ`, `Verbindungen`, `Kommentar`) VALUES
> ('2006-07-31 12:26:31', '172.16.199.1', 'CALL 3', 'A:Disc', '523->808704', 'G729AB,60(56,3)/G729AB,0(0,0) TEL2:523:->GW1:808704:
> Cause: Normal call clearing'), ...

der PHP Teil sollte sich zumindest so verbessern lassen:

<?php
$sql = 'INSERT INTO `' . $Jahr . '_' . $Standort . '` ( ';
$sql .= '  `DateTime` ';
$sql .= ', `IP` ';
$sql .= ', `Call` ';
$sql .= ', `Typ` ';
$sql .= ', `Verbindungen` ';
$sql .= ', `Kommentar` ';
$sql .= ') VALUES ';

$Zaehler = false;
foreach ($teile as $buffer) {
     if (! strpos($buffer, ' CALL ')) {
         continue;
     }
     $teiler_1 = split(' ', $buffer);
     $entferner = $teiler_1[0] . ' ' . $teiler_1[1] . ' '
         . $teiler_1[2] . ' ' . $teiler_1[3] . ' ' . $teiler_1[4] . ' '
         . $teiler_1[5] . ' ' . $teiler_1[6] . ' ' . $teiler_1[7] . ' ';
     $teiler_3 = str_replace($entferner, '', $buffer);

     if ($Zaehler) {
         $sql .= ', ';
     } else {
         $Zaehler = true;
     }
     $sql .= '( '
        . "  '" . $Jahr . '-' . $month[$teiler_1[0]] . '-' . $teiler_1[1]
        . ' ' . $teiler_1[2] . "' "
        . ", '" . $teiler_1[3] . "' "
        . ", '" . $teiler_1[4] . ' ' . $teiler_1[5] . "' "
        . ", '" . $teiler_1[6] . "' "
        . ", '" . mysql_real_escape_string($teiler_1[7]) . "' "
        . ", '" . mysql_real_escape_string($teiler_3) . "' "
        . ') ';
}
$ergebnis = @ mysql_query($sql, $verbindung);
?>

-- 
Sebastian

php::bar PHP Wiki   -   Listenarchive