Query Abfrage UPDATE will nicht funktionieren

Unl3a5h3r

Grünschnabel
So, ich hab hier ein kleines Problem mit meiner SQl Abfrage.

SELECT und INSERT INTO stellt keine schwierigkeiten dar. Funktioniert super. Aber UPDATE nicht...

hier der Code:

PHP:
	function save_mail($id, $name, $email, $inhalt, $anlage_tmp, $anlage, $logo_alt, $logo_tmp, $logo, $farbe1, $farbe2){
		if($id == ""){
			$eintrag = "INSERT INTO easymail_mail (absender_name, absender_email, inhalt, farbe1, farbe2) VALUES ('$name', '$email', '$inhalt', '$farbe1', '$farbe2')";
			$eintragen = mysql_query($eintrag);
			$abfrage = "SELECT ID FROM easymail_mail ORDER BY ID DESC LIMIT 1";
			$ergebnis = mysql_query($abfrage);
			$row = mysql_fetch_object($ergebnis);
			$id = $row->ID;
		}

bis hierher passt soweit alles.

PHP:
		else{
			$aendern = "UPDATE easymail_mail SET name = '$name', email = '$email', inhalt = '$inhalt', farbe1 = '$farbe1', farbe2 = '$farbe2' WHERE ID = '$id'";
			$update = mysql_query($aendern);
		}

Der Teil will einfach nicht. Die variablen habe ich vorher per $_POST von einem Formular bekommen und dann über die Funktion übergeben.

PHP:
		if($anlage_tmp != ""){
			$uploaddir = dirname($_SERVER['SCRIPT_FILENAME']).'/files/';
			move_uploaded_file($anlage_tmp, $uploaddir . $anlage);
			$pfad_anlage = $uploaddir . $anlage;
			$url_anlage = "http://www.mafact.de/easymail/files/". $anlage;
			$aendern = "UPDATE easymail_mail Set anlage = '$url_anlage', anlage_pfad = '$pfad_anlage' WHERE ID = '$id'";
			$update = mysql_query($aendern);
		}
Dieser Teil funktioniert, auch mit UPDATE.

PHP:
		if($logo_tmp != ""){
			if($_GET['action']=='edit_mail'){
				$pfad_logo = "";
				$abfrage = "SELECT logo_pfad FROM easymail_mail WHERE ID='$id'";
				$ergebnis = mysql_query($abfrage);
				$row = mysql_fetch_object($ergebnis);
				$pfad_logo = $row->logo_pfad;
				if($pfad_logo =! ""){
					unlink($pfad_logo);
				}
			}
			$uploaddir = dirname($_SERVER['SCRIPT_FILENAME']).'/logos/';
			move_uploaded_file($logo_tmp, $uploaddir . $logo);
			$pfad_logo = $uploaddir . $logo;
			$url_logo = "http://www.mafact.de/easymail/logos/". $logo;
			$aendern = "UPDATE easymail_mail Set logo = '$url_logo', logo_pfad = '$pfad_logo' WHERE ID = '$id'";
			$update = mysql_query($aendern);
		}
	}

Der 2. Upload part wiederum funktioniert kein bischen. Weder wird die File hochgeladen noch wird etwas in die DB eingetragen. Beim 1. upload feld habe ich eine .txt datei und bemi 2. eine .jpg


Kann mir irgendwer sagen, wo der/die Fehler liegen? mir kommts so vor, als ob eigentlich alles richtig ist, ich aber einfach den Fehle nicht sehe.
 
Vermutlich sollte

PHP:
SET name = '$name'

eigentlich

PHP:
SET absender_name = '$name'

sein?

Desweiteren empfehle ich dringest, eine Fehlerbehandlung einzubauen. Etwa so:

PHP:
mysql_query($query) or echo mysql_error();
 
Lass dir mal dein $aendern mit echo ausgeben und poste das dann mal hier. Ich würde sagen, dass der Fehler durch einen der Werte entsteht.
 
Hallo Unl3a5h3r,

mir kommt es auf den ersten Blick so vor, als ob Du im ersten UPDATE die falschen Spaltenamen für name und email verwendest:

"name" und "email" statt "absender_name" und "absender_email",

zumindest wenn ich sie mit Deinem INSERT vergleiche.


MfG
 
PHP:
        else{
            $aendern = "UPDATE easymail_mail SET name = '$name', email = '$email', inhalt = '$inhalt', farbe1 = '$farbe1', farbe2 = '$farbe2' WHERE ID = '$id'";
            $update = mysql_query($aendern);
        }




ändern in:

PHP:
else{
ändern("UPDATE easy_mail SET absender_name = '".$_POST['name']."' absender_email = '".$_POST['email']."' inhalt = '".$_POST['inhalt']."' farbe1 = '".$_POST['farbe1']."' farbe2 = '".$_POST['farbe2']."' WHERE id = '".$_POST['id']."'") OR die(mysql_error()); 
            $update = mysql_query($aendern);
        }
 
Zuletzt bearbeitet:
Hallo Unl3a5h3r,

mir kommt es auf den ersten Blick so vor, als ob Du im ersten UPDATE die falschen Spaltenamen für name und email verwendest:

"name" und "email" statt "absender_name" und "absender_email",

zumindest wenn ich sie mit Deinem INSERT vergleiche.


MfG

Ja, wie saftmeister schon sagte. Ich wusste doch, dass der fehler total simpel ist und ich ihn nur nicht sehe....

Ich glaube ich soltle für heute aufhören
 
Zurück