Basti_2015
Mitglied
Hi, ich habe schon über die Suchfunktion geschaut und deren Lösungsansätze probiert, kein Erfolg. Ich muss auf dem Schlauch sitzen, da es sich um eine profane Funktion handelt.
Ich sende ein Formular ab, dieses wird verarbeitet und über einer dbKlasse in eine Datenbank gespeichert.
Hier wird abgefangen und weitergeleitet, ob INSERT oder UPDATE benutzt werden soll.
Hier seht ihr die UPDATE-Funktion. Meines erachtens normal und schon 100x geschrieben. Ich prüfe auch was mir der prepare() zurücksendet-> alles TRUE .
Auch sonst kommt beim Ausschlussverfahren, wo er hängen könnte, nicht bei raus. Das Script läuft den richtigen Weg und meldet überall ein TRUE. Es kommt keinerlei Fehlermeldung. Jedoch wird nichts mehr Erstellt bzw. upgedatet.
Hat wer zufällig eine Idee? Benötige mal ein schubs.
Ich sende ein Formular ab, dieses wird verarbeitet und über einer dbKlasse in eine Datenbank gespeichert.
PHP:
public function save_weeklyreport($array) {
$pausen_id=1; ... !important
try
{
for($i=0;$i<count($array['wr_id']);$i++) {
if($array['wr_id'][$i]==0 && $array['wr_core'][$i]=='insert') {
$this->insert_weeklyreport($array['hash'],$array['wr_id'][$i],$array['wr_core'][$i],$array['wp_datum'][$i],$array['zeitraum_von'][$i],$array['zeitraum_bis'][$i],$array['wp_projekt'][$i],$array['wp_ort'][$i],$array['wp_mon'][$i],$array['wp_pause'.$pausen_id],$array['wp_korrektur'][$i],$array['wp_bes'][$i],$array['u_token']);
echo "insert";
} elseif($array['wr_id'][$i]>=1 && $array['wr_core'][$i]=='update') {
$this->update_weeklyreport($array['hash'],$array['wr_id'][$i],$array['wr_core'][$i],$array['wp_datum'][$i],$array['zeitraum_von'][$i],$array['zeitraum_bis'][$i],$array['wp_projekt'][$i],$array['wp_ort'][$i],$array['wp_mon'][$i],$array['wp_pause'.$pausen_id],$array['wp_korrektur'][$i],$array['wp_bes'][$i],$array['u_token']);
#echo "update";
} else {
return false;
}
$pausen_id++;
}
return true;
}
PHP:
private function update_weeklyreport($hash,$id,$core,$datum,$zeit_v,$zeit_b,$projekt,$ort,$mon,$pause,$korrektur,$bes,$u_token) {
#$this->beginTransaction();
try
{
if($pause==0) {$pausenwert=1;$pausenbezeichnung='Frühstück und Mittag';$wp_pause=0;}
if($pause==1) {$pausenwert=0.5;$pausenbezeichnung='Frühstück';$wp_pause=1;}
if($pause==2) {$pausenwert=0.5;$pausenbezeichnung='Mittag';$wp_pause=2;}
if($pause==3) {$pausenwert=0;$pausenbezeichnung='keine';$wp_pause=3;}
else{$wp_pause=3;$pausenbezeichnung='keine';}
$query = "UPDATE `SE_weeklyreport` SET
`wr_date`= :date AND
`wr_von`= :von AND
`wr_bis`= :bis AND
`wr_projekt`= :projekt AND
`wr_ort`= :ort AND
`wr_montage`= :montage AND
`wr_pause`= :pause AND
`wr_pause_bez`= :pause_bez AND
`wr_korrektur`= :korrektur AND
`wr_bemerkung`= :bemerkung
WHERE `wr_id`=:id" ;
$statement = $this->prepare($query);
$statement->bindParam(':id', $id, PDO::PARAM_INT);
$statement->bindParam(':date', $datum, PDO::PARAM_STR);
$statement->bindParam(':von', $zeit_v, PDO::PARAM_STR);
$statement->bindParam(':bis', $zeit_b, PDO::PARAM_STR);
$statement->bindParam(':projekt', $projekt, PDO::PARAM_STR);
$statement->bindParam(':ort', $ort, PDO::PARAM_STR);
$statement->bindParam(':montage', $mon, PDO::PARAM_STR);
$statement->bindParam(':pause', $wp_pause, PDO::PARAM_STR);
$statement->bindParam(':pause_bez', $pausenbezeichnung, PDO::PARAM_STR);
$statement->bindParam(':korrektur', $korrektur, PDO::PARAM_STR);
$statement->bindParam(':bemerkung', $bes, PDO::PARAM_STR);
$test = $statement->execute();
#$this->commit();
var_dump($test);
return true;
}
catch (PDOException $e)
{
if(SHOW_EXCEPTIONERRORS) {
echo 'Allgemeiner Fehler: '.$e->getMessage();
}
#$this->rollback ();
$this->wirteLOG($e,'save_weeklyreport');
return false;
}
}
Auch sonst kommt beim Ausschlussverfahren, wo er hängen könnte, nicht bei raus. Das Script läuft den richtigen Weg und meldet überall ein TRUE. Es kommt keinerlei Fehlermeldung. Jedoch wird nichts mehr Erstellt bzw. upgedatet.
Hat wer zufällig eine Idee? Benötige mal ein schubs.