PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP für Fortgeschrittene und Experten (http://www.selfphp.de/forum/forumdisplay.php?f=13)
-   -   Fehlerbehandlung... (http://www.selfphp.de/forum/showthread.php?t=5056)

Trialrider 28.07.2003 14:40:14

Fehlerbehandlung...
 
Hallo Leute,

ich benötige mal bitte Rat.
Zitat:

Fatal error: Cannot redeclare odbc_binden() (previously declared in c:inetpubwwwroot_func_db_verbindung_daten.php:13) in c:inetpubwwwroot_func_db_verbindung_daten.php on line 11
Dabei hat bis Freitag alles schön funktioniert...

Mein Englisch ist iO aber ich komm trotzdemnit weiter. Wonach muss ich suchen?

So sieht die includete Datei aus:
PHP-Code:

 session_start ();
 
$db_Session_Daten   session_encode() or die();
 
$db_Session_Inhalte explode (chr(34), $db_Session_Daten);

 
$db_Server     = @$_SERVER["HTTP_HOST"];
 
$db_Benutzer   = @$db_Session_Inhalte[1];
 
$db_Kennwort   = @$db_Session_Inhalte[3];
 
$db_Verbindung = @mysql_connect ($db_Server$db_Benutzer$db_Kennwort);

 function 
odbc_binden()
 {
  
$DSN        "abc";
  
$Benutzer   "naich";
  
$Kennwort   "nadieses";
 
  return 
$Verbindung = @odbc_connect($DSN$Benutzer$Kennwort);
 } 

Danke, Trialrider

Ben20 28.07.2003 14:42:19

Die Meldung besagt, dass Du die Funktion odbc_binden() zweimal hast. Also nicht zwei Aufrufe, sondern zweimal eine Deklaration. Suche mal nach function odbc_binden - das sollte nur einmal vorkommen, ansonsten suche mal nach includes. Evlt, includest Du die Funktion zweimal!

Trialrider 28.07.2003 15:01:02

Hi Ben20,

in folgenden Zweig wird die Datei eingebunden:
PHP-Code:

          case "sap":
 include (
"../_func_/budget_holen_sap.php");
 if (empty(
$dbd)) $dbd="";
 switch(
$dbd)
  {
   case 
"ja":
    echo 
"<td colspan='2' align='left'>"
     
holen_sap_all();
    echo 
"</td>";
   break;

   case 
"kunde":
    echo 
"<td colspan='2' align='left'>";
     
holen_sap_kunden();
     
anpassen_sap_kunden();
    echo 
"</td>";
   break;

   default;
  }
break; 

Und so sehen die beiden Funktionen aus. In diesen benötige ich aber beide Male die Variable "$db_Verbindung"... Weiß nicht, was er dann mit der o.a. (^^) Fehlermeldung will.
PHP-Code:

 function holen_sap_kunden()
 {
  
$start   time();
  include (
"db_verbindung_daten.php");
 
  
$Verbindung odbc_binden();
 
  @
mysql_select_db ("budgetdb"$db_Verbindung);
  
  
$mysql_sql_loeschen "delete from budgetdb.soll_kunde where angelegt = 'auto'";
  
$mysql_res_loeschen = @mysql_query($mysql_sql_loeschen$db_Verbindung);
 
  
$odbc_sql "SELECT DISTINCT KUNNR, VKORG FROM PLAND order by KUNNR asc";
  
$odbc_res = @odbc_exec($Verbindung$odbc_sql);
  
$x = @odbc_num_fields($odbc_res);
  
  
$mysql_sql        "";
  
$mysql_sql_anhang "";
 
  
$y 0;
  while (@
odbc_fetch_into($odbc_res$Inhalt))
   {
    
$y++;
    
$mysql_sql "insert into budgetdb.soll_kunde (Jahr, Kunde, VKORG, angelegt, Datum, Zeit) values('".date("Y",time())."', ";

    
$Datum date("Y.m.d"time());
    
$Zeit  date("H:i:s"time());
    for (
$i 0$i $x$i++)
     {
      
$mysql_sql_anhang .= "'".$Inhalt[$i]."'";
      if (
$i+!= $x$mysql_sql_anhang .= ", "; else $mysql_sql_anhang .= ",'auto','$Datum','$Zeit')";
     }
   
    
$mysql_sql_voll $mysql_sql.$mysql_sql_anhang;
    
$mysql_res_voll = @mysql_query($mysql_sql_voll$db_Verbindung) or die(mysql_error());
 
    
$mysql_sql        "";
    
$mysql_sql_anhang "";
   }

  
$ende   time(); 
  
$ende_H date ("H"$ende);
  
$ende_i date ("i"$ende);
  
$ende_s date ("s"$ende);
 
  @
odbc_free_result($odbc_res);
  @
odbc_close($Verbindung);
 
  
$mysql_sql_saetze "select * from budgetdb.soll_kunde where angelegt='auto'";
  
$mysql_res_saetze mysql_query($mysql_sql_saetze$db_Verbindung);
  
$mysql_saetze     mysql_num_rows($mysql_res_saetze);
 
  @
mysql_close($db_verbindung);

  
$delta $ende-$start;
  echo 
"<br>";
  echo 
"Startzeit:&nbsp;".date ("H:i:s"$start)."<br>";
  echo 
"Endzeit&nbsp;:&nbsp;".date ("H:i:s"$ende)."<br>";
  echo 
"Dauer&nbsp;&nbsp;&nbsp;:&nbsp;".$delta." Sek.<br><br>";

  echo 
"Es waren ".$y." S&auml;tze in der Datei.<br>";
  echo 
"Es wurden ".$mysql_saetze." S&auml;tze &uuml;bertragen.<br><br>";
 }

 function 
anpassen_sap_kunden()
 {
  include (
"db_verbindung_daten.php");
  
$sql_org "select Kunde from budgetdb.soll_kunde where angelegt='auto' order by Kunde asc";
  
$res_org = @mysql_query($sql_org$db_Verbindung);
  
  if (@
mysql_num_rows($res_org)!=0)
   {
    
$Erfolg 0;
    
$Pech   0;
    while (
$Original = @mysql_fetch_object($res_org))
     {
      
$Laenge_Org strlen($Original->Kunde);
      switch (
substr($Original->Kunde0$Laenge_Org-7))
       {
        case 
"000":
         
$Kunde_Neu abs($Original->Kunde);
        break;
       
        case 
"CPD":
         
$Kunde_Neu $Original->Kunde;
        break;
        
        default: 
$Kunde_Neu $Original->Kunde;
       }
      
$sql_upd "update budgetdb.soll_kunde set Kunde='".$Kunde_Neu."' where Kunde='".$Original->Kunde."' and angelegt='auto'";
      if (
$res_upd = @mysql_query($sql_upd$db_Verbindung)) $Erfolg++; else $Pech++;
     }
   }
  echo 
"S&auml;tze angepasst:&nbsp;".$Erfolg."<br>";
  echo 
"S&auml;tze  belassen&nbsp;&nbsp;:&nbsp;".$Pech."<br>";
  echo 
"Dies bedeutet, dass schon Daten vorhanden sind...";
 } 

Gruß, Trialrider


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:45:24 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.