Query Abfrage UPDATE will nicht funktionieren

Unl3a5h3r

New member
4 Januar 2010
3
0
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 = "https://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 = "https://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.
 
Was kommt denn für eine Fehlermeldung?

Füge folgendes ein:
PHP:
error_reporting(E_ALL);

Am besten gibts du auch den fertigen Query (mit eingesetzten Variablen) mal aus.
 
HTML:
UPDATE easymail_mail SET name = 'DADASDas', email = 'email@web.de', inhalt = 'gdfgdfgdgdgdfgdgdfgdfgdfgd dg g g d g df gd gdf g ', farbe1 = '#123456', farbe2 = '#654321' WHERE ID = '5'

Das ist die Query sieht doch soweit ganz gut aus?

als Fehlercode bekomme ich:
6143
 
Es kann noch sein, dass ein Wert nicht zu dem Datentyp in der Datenbank passt.
Ohne Einsicht in deine Tabellenstruktur kann man das aber nicht sagen.
 
Es kann noch sein, dass ein Wert nicht zu dem Datentyp in der Datenbank passt.
Ohne Einsicht in deine Tabellenstruktur kann man das aber nicht sagen.


Danke atlan für die Hilfe.

ich hab noch ni anderen Foren gefragt. Der Fehler ist gans simpel (siehe insert) Ich hab einfach die falschen spaltennamen benutzt...