Update Funktion geht nicht *grrrrr*

Constan

Mitglied
Hi ich nutze folgende Syntax um meine Daten zu Manipulieren :
PHP:
	$sql="UPDATE server SET srvcat = '$cat' WHERE srvid = '$id'";
	$result=mysql_query($sql);
Dieser Funktioniert jedoch nicht, stattdessen wenn ich '$id' durch eine Zahl (Nehmen wir mal an die '11' ist die ID die wir ändern wollen) dann Funktioniert es.
PHP:
	$sql="UPDATE server SET srvcat = '$cat' WHERE srvid = '11'";
	$result=mysql_query($sql);
Also alle Variablen sind Vorhanden und werden per echo auch angezeigt, Wenn ich die ID Variable ersetzte durch eine Zahl dann wird der wert cat gespeichert so wie er es soll trotz folgender Schreibweise '$cat' und warum geht das bei der id nicht? Was mache ich denn falsch?
 
Hi, nein leider klappt das auch nicht. aber ja es handelt sich um ein int wert.

hier mal der ganze code vielleicht habe ich ja da irgendwo ein fehler

PHP:
<?PHP
$id = $_GET["id"];
$name = $_GET["name"];
$ip = $_GET["ip"];
$port = $_GET["port"];
$cat = $_GET["cat"];
$send = $_GET["send"];

//Formular Überprüfung, ob Inhalte vorhanden. (Fehlermeldungen)
if ($name == '' AND $send == '1')
	{echo "Fehler! Bitte geben sie den Namen des Servers an.<br>";}else{$s1 = '1';}

if ($ip == '' AND $send == '1')
	{echo "Fehler! Bitte geben sie die IP Adresse des Servers an.<br>";}else{$s2 = '1';}

if ($port == '' AND $send == '1')
	{echo "Fehler! Bitte geben sie den Port des Servers an.<br>";}else{$s3 = '1';}
    
    
//Prüfung ob gesendet wurde und überall Inhalte vorhanden. (Datenbankeintrag)
if ($send == '1' AND $s1 == '1' AND $s2 == '1' AND $s3 == '1')
	{
    print "Daten wurden geändert";
	//$sql="UPDATE server SET srvip = '\"$ip\"' AND srvname = '\"$name\"' AND srvport = '\"$port\"' srvcat = '\"$cat\"' WHERE srvid = '\"$id2\"'";
	$sql="UPDATE server SET srvip = '$ip' WHERE srvid = $id";
	$sql="UPDATE server SET srvname = '$name' WHERE srvid = $id";
	$sql="UPDATE server SET srvport = '$port' WHERE srvid = $id";
	$sql="UPDATE server SET srvcat = '$cat' WHERE srvid = $id";
	$result=mysql_query($sql);
	} else {
	echo '';
	}
  ?>
 
Zuletzt bearbeitet:
Deine Syntax verwendet nur den letzten String, welcher der Variable $sql zugewiesen worde.

PHP:
$sql="UPDATE server SET srvip = '".$ip."', srvname = '".$name."', srvport = '".$port."', srvcat = '".$cat."' WHERE srvid = ".$id;

print $sql;
 
Ah ok Danke hatte dann wohl den Falschen ansatz für den Aufruf von Variablen, habe dies jetzt verstanden. Thx ('".$ip."')
 
Zurück