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:
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
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
?>
Mfg N. Kathagen
Kommentar