Fehler beim Speichern von MySQL-Daten

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Fehler beim Speichern von MySQL-Daten

    Hallo zusammen,
    ich benötige dringend Hilfe. Vorweg: Ich bin Leihe und kein PHP/MySQL-Experte.

    Folgendes Problem: Vor einiger Zeit hat uns ein System-Haus ein Warenwirtschafts-Programm auf PHP/MySQL-Basis geschrieben.
    Bislang lief alles einwandfrei. Nach einem Serverumzug nun nicht mehr. Es gab nach einem vorherigen Serverumzug schon einmal Probleme,
    die sich dann aber immer beheben lassen konnten!
    Damals lag es zum Beispiel an Grand-Rechten für den Datenbank-User oder an Variablen in der php.ini auf dem Server (Curl-Bibliotheken, usw.).

    Nun läuft das Warenwirtschaftssystem zumindest soweit, dass man alle Programmteile (PHP-Seiten) einwandfrei aufrufen kann, der Datenbank-Connect
    funktioniert und alle Datenbankinhalte in das Programm eingelesen werden (Kunden, Projekte, usw.)

    Nun das eigentliche und elementare Problem: Es können keine Daten und Eingaben gespeichert werden bzw. geändert werden!

    Das Programm gibt beim Speichern keine PHP-Fehlermeldung aus, sondern einen internen "Case-Fall" vom Programmierer der da lautet:

    "Systemmeldung
    Die Speicherung des Datensatz ist fehlgeschlagen. Dies kann mehrere
    Gründe haben. Um einen Fehler in der Datenbank auszuschließen starten
    Sie den Rechner neu und versuchen die Eingabe erneut. Ansonsten wenden
    Sie sich bitte an den Administrator."

    Liegt es eventuell an den unterschiedlichen Server-Systemen / Ist das Programm zu alt und kommt mit den neuen PHP/MySQL-Versionen nicht klar bzw.
    kennt die Syntaxen nicht?

    Alt-Server-Version: MySQL 4.1.11 | phpMyAdmin 2.6.2 | Linux Debian Sarge
    Neu-Server-version: MySQL 5.0.18 | phpMyAdmin 2.8.2.4 | Linux Suse

    Folgend der Quellcode der Datei, die beispielsweise für das Speichern von Projekten zuständig ist:

    PHP-Code:
    <? 
    if(empty($Dat[4][4])){$Dat[4][4]=GetTodayE(0);} 
    $con=dbopen($db); 
    //Datensatz zusammenstellen 
    //ID ist 0, es wird kein geladener Datensatz gespeichert(ge䮤ert) 
    if (empty($Dat[4][0]) || isset($NEW)) 

    if(!$ERR=ProCheck($Dat[4])) 

    $Felder="("; $Data="('"; 
    for ($i=1; $i<$anz[4]-1; $i++) 

    $Felder .= $Feld[4][$i].", "; 
    if($i>13 && $i<23) 

    if($i==14){$tab="System";}elseif($i<19){$tab="Fonts";}else{$tab="Hausfarben";} 
    $res="Select Nr FROM ".$Form."_$tab WHERE Name='".$Dat[4][$i]."'"; 
    $res=@mysql_result(@mysql_query($res, $con),0,0); 

    else 

    $res=$Dat[4][$i]; 

    $Data .= "$res', '"; 


    $Sel = "INSERT INTO Projekte $Felder".$Feld[4][$i].") VALUES $Data".$Dat[4][$i]."')"; 
    if (!$erg = @mysql_query($Sel, $con)) 

    $ERR=6; 

    else 

    $ERR=7; 
    $Dat[4][0]=@mysql_insert_id(); 
    SavePro($Pro, $Dat[4][0]); 



    else 

    //Der Datensatz besteht bereits und soll ge䮤ert werden 
    if (empty($savebut)) 

    echo "<TR><TD align='center' bgcolor='#FFE7DF' colspan='4' valign='middle'>"; 
    echo "<font face='Verdana' size='2'>"; 
    echo "Der Datensatz ist bereits vorhanden. M?en Sie ?hreiben ?"; 
    echo "</font>"; 
    echo "<INPUT type='submit' name='savebut' value='NEIN'>"; 
    echo "<INPUT type='submit' name='savebut' value='JA'>"; 
    echo "</TD></TR>"; 

    else 

    if ($savebut == 'JA') 

    $Felder = ""; 
    for ($i=1; $i<$anz[4]-1; $i++) 

    if($i>13 && $i<23) 

    if($i==14){$tab="System";}elseif($i<19){$tab="Fonts";}else{$tab="Hausfarben";} 
    $res="Select Nr FROM ".$Form."_$tab WHERE Name='".$Dat[4][$i]."'"; 
    $res=@mysql_result(@mysql_query($res, $con),0,0); 

    else 

    $res=$Dat[4][$i]; 

    $Felder .= $Feld[4][$i]."='$res', "; 

    $Sel="UPDATE $Form SET $Felder".$Feld[4][$i]."='".$Dat[4][$i]."' WHERE ".$Feld[4][0]."='".$Dat[4][0]."'";
    if (!$erg = @mysql_query($Sel, $con)) 

    $ERR=6; 

    else 

    SavePro($Pro, $Dat[4][0]); 
    $ERR=7; 


    }//Ende Abfrage CheckData f? 
    }//Ende ELSE-Zweig Neu oder Update 
    ?>
    Leider existiert die Firma, die die Software vor ca. 6 - 8 Jahren programmiert hat nicht mehr. Ich bin für jede Hilfe überaus dankbar! Vielen Dank für jede Mühe im Voraus.

    Mfg N. Kathagen
    Zuletzt geändert von LoCoServices; 07.05.2007, 15:30.

  • #2
    PHP-Code:
    if (empty($savebut)) 

    echo 
    "<TR><TD align='center' bgcolor='#FFE7DF' colspan='4' valign='middle'>"
    echo 
    "<font face='Verdana' size='2'>"
    echo 
    "Der Datensatz ist bereits vorhanden. M?en Sie ?hreiben ?"
    echo 
    "</font>"
    echo 
    "<INPUT type='submit' name='savebut' value='NEIN'>"
    echo 
    "<INPUT type='submit' name='savebut' value='JA'>"
    echo 
    "</TD></TR>"

    else 

    if (
    $savebut == 'JA'
    Dieser kleine Schnipsel sagt schon einiges ...

    register_globals überprüfen.
    gruss Chris

    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

    Kommentar


    • #3
      währe schön zu wissen was dieser teil hier

      PHP-Code:
      $Sel "INSERT INTO Projekte $Felder".$Feld[4][$i].") VALUES $Data".$Dat[4][$i]."')"
      ausgibt!

      weil ich kann mir gerade sonst weiter nichts vorstellen.

      außer wie mein vorredner schon sagte register_globals
      Bitte Beachten.
      Foren-Regeln
      Danke

      Kommentar


      • #4
        der code ist ja lustig zusammengebaut. da habt Ihr echte Profis gehabt.

        register_globals wirds schon sein
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          Re: Fehler beim Speichern von MySQL-Daten

          Original geschrieben von LoCoServices
          Vorweg: Ich bin Leihe
          OffTopic:
          Wenn sie wüssten, dass verleihen auf Niederländisch verhuur heisst - ob sich dann eigentlich immer noch so viele Leute so bereitwillig als "Leihen" outen würden ...?
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Re: Fehler beim Speichern von MySQL-Daten

            @LoCoServices: Regeln lesen, Code umbrechen!
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Hallo und vielen Dank zunächst allen für die schnelle Hilfe!

              Ich habe zunächst mit: "error_reporting(E_ALL);" gearbeitet und es werden nun folgende 3 Fehlermeldungen ausgegeben (Die 1. vervielfacht):

              1. Notice: Undefined variable: Size in /srv/www/vhosts/kathagen-media.de/httpdocs/warenwirtschaft/index.php on line 270
              -> Codezeile 270 in index.php:
              $F=$Size[$j][$i];

              2. Notice: Undefined variable: Atti in /srv/www/vhosts/kathagen-media.de/httpdocs/warenwirtschaft/index.php on line 281
              -> Codezeile 281 in index.php:
              for($i=0; $i<count($Atti); $i++)

              3. Notice: Undefined variable: len in /srv/www/vhosts/kathagen-media.de/httpdocs/warenwirtschaft/formular_4_form.php on line 39
              -> Codezeile 39 in formular_4_form.php:
              echo "<INPUT $Fbutt name='Dat[4][$i]' value='$out' maxlength='$len' >&nbsp;";

              Zudem habe ich die register_globals auf "on" gesetzt.

              Trotzdem führte dies zu keiner Lösung.

              Hilft dies jemandem weiter oder hat nun jemand eine Idee, woran das Speicherproblem liegen könnte?

              Mfg N. Kathagen

              Kommentar


              • #8
                Zudem habe ich die register_globals auf "on" gesetzt.
                Trotzdem führte dies zu keiner Lösung.
                Und den Server haste neu gestartet ?

                Gruss

                tobi
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  Der Hinweis auf die Codebreite kam nicht zum Spaß.
                  Jetzt machen, oder *trash*
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    Ja, den Apache habe ich neu gestartet!
                    register_globals ist auf "on".

                    Trotzdem keinen Erfolg...

                    Kommentar


                    • #11
                      Wo genau klemmts denn jetzt, verstehst du nicht was "Undefined variable" heißt?

                      Kommentar


                      • #12
                        Ich würde mal das Systemhaus bei dem Ihr das System habt entwickeln lassen anfragen, ausserdem kann aus Deiner ersten Fehlerbeschreibung niemand erkennen wann diese Fehlermeldung genau kommt.
                        @ undefined variable: deklariere einfach alle benutzten variablen oder dreh am error_reporting
                        Beantworte nie Threads mit mehr als 15 followups...
                        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                        Kommentar

                        Lädt...
                        X