UPDATE geht nicht

Hallo Leute

Ich habe volgendes Problem ich bekomme einfach nicht sie Daten in der DB geändert.
Das selbe Formular habe ich zum eintragen verwendet mit INSERT INTO und da geht es, aber nicht zum UPDATE obwohl ich das geändert habe was ich eigentlich ändern muss.

Kann mir bitte einer einen Tip geben wo mein fehler liegt

Danke Michél

PHP:
<?php

$DatabaseHost = "localhost";
$DatabaseUser = "*****";
$DatabasePassword = "*****";
$Database = "********";
$TableAktivierung = "User";

if($_REQUEST['Send'])
{
	$DatabasePointer = mysql_connect($DatabaseHost, $DatabaseUser, $DatabasePassword);
	mysql_select_db($Database, $DatabasePointer);

	mysql_query("UPDATE User set (User, Passwort, DJName, Vorname, Nachname, Act, Style, DJseit, 
	HomeTown, Beschreibung, Reference, LetzterLogin, EMail, 
	Geburtstagjahr, Geburtstagmonat, Geburtstagtag) 
	VALUES ( '".$_REQUEST['User']."', '".$_REQUEST['Passwort']."', '".$_REQUEST['DJName']."',
	'".$_REQUEST['Vorname']."', '".$_REQUEST['Nachname']."','".$_REQUEST['Act']."', '".$_REQUEST['Style']."', 
	'".$_REQUEST['DJseit']."', '".$_REQUEST['HomeTown']."', '".$_REQUEST['Beschreibung']."', '".$_REQUEST['Reference']."',
	NOW(''), '".$_REQUEST['EMail']."',
	 '".$_REQUEST['jahr']."', '".$_REQUEST['monat']."', '".$_REQUEST['tag']."', ) WHERE id = '$id'", $DatabasePointer);

	echo'<p>Daten erfolgreich ge&auml:ndert</p>';
}
else
{
?>
<br><br>
			<form action="<?php echo$_SERVER['PHP_SELF']; ?>" method="post">
			<table width="583" border="0">
				<tr>
					<td height="30"><b>DJ Name:</b></td>
 					<td><input name="DJName" type="text" id="DJName" maxlength="50"></td>
  					<td></td>
					<td><b>DJ seit:</b></td>
														<td><input name="DJseit" type="text" id="DJseit" maxlength="50"></td>
													</tr>
				<tr>
					<td height="30"><b>Act:</b></td>
  					<td>
  					<input type="text" name="Style" id="Style"><br>
															<font size="1px">Bsp.: DJ,Live-Act &amp; Producer</font></td>
  					<td></td>
					<td>Gebutstag:</td>
														<td><select name="tag" id="tag">
                            <option selected="selected" value="keine angaben">Tag</option>
                            <option value="01">01</option>
                            <option value="02">02</option>
                            <option value="03">03</option>
                            <option value="04">04</option>
                            <option value="05">05</option>
                            <option value="06">06</option>
                            <option value="07">07</option>
                            <option value="08">08</option>
                            <option value="09">09</option>
                            <option value="10">10</option>
                            <option value="11">11</option>
                            <option value="12">12</option>
                            <option value="13">13</option>
                            <option value="14">14</option>
                            <option value="15">15</option>
                            <option value="16">16</option>
                            <option value="17">17</option>
                            <option value="18">18</option>
                            <option value="19">19</option>
                            <option value="20">20</option>
                            <option value="21">21</option>
                            <option value="22">22</option>
                            <option value="23">23</option>
                            <option value="24">24</option>
                            <option value="25">25</option>
                            <option value="26">26</option>
                            <option value="27">27</option>
                            <option value="28">28</option>
                            <option value="29">29</option>
                            <option value="30">30</option>
                            <option value="31">31</option>
                        </select>
                          <select name="monat" id="monat">
                            <option selected="selected" value="keine angaben">Monat</option>
                            <option value="01">Januar</option>
                            <option value="02">Februar</option>
                            <option value="03">M&auml;rz</option>
                            <option value="04">April</option>
                            <option value="05">Mai</option>
                            <option value="06">Juni</option>
                            <option value="07">Juli</option>
                            <option value="08">August</option>
                            <option value="09">September</option>
                            <option value="10">Oktober</option>
                            <option value="11">November</option>
                            <option value="12">Dezember</option>
                        </select>
                          <select name="jahr" id="jahr">
                            <option selected="selected" value="keine angaben">Jahr</option>
                            <option value="1988">1988</option>
                            <option value="1987">1987</option>
                            <option value="1986">1986</option>
                            <option value="1985">1985</option>
                            <option value="1984">1984</option>
                            <option value="1983">1983</option>
                            <option value="1982">1982</option>
                            <option value="1981">1981</option>
                            <option value="1980">1980</option>
                            <option value="1979">1979</option>
                            <option value="1978">1978</option>
                            <option value="1977">1977</option>
                            <option value="1976">1976</option>
                            <option value="1975">1975</option>
                            <option value="1974">1974</option>
                            <option value="1973">1973</option>
                            <option value="1972">1972</option>
                            <option value="1971">1971</option>
                            <option value="1970">1970</option>
                            <option value="1969">1969</option>
                            <option value="1968">1968</option>
                            <option value="1967">1967</option>
                            <option value="1966">1966</option>
                            <option value="1965">1965</option>
                            <option value="1964">1964</option>
                            <option value="1963">1963</option>
                            <option value="1962">1962</option>
                            <option value="1961">1961</option>
                            <option value="1960">1960</option>
                            <option value="1959">1959</option>
                            <option value="1985">1958</option>
                            <option value="1957">1957</option>
                            <option value="1956">1956</option>
                          </select>
                        </td>
													</tr>
				<tr>
					<td height="30"><b>Style:</b></td>
  					<td><input name="Style" type="text" id="Style" maxlength="50"></td>
					<td></td>
					<td><b>EMail</b></td>
														<td><input maxlength="255" name="EMail" type="text"></td>
													</tr>
				<tr>
					<td height="30"><b>Home Town:</b></td>
  					<td><input name="HomeTown" type="text" id="HomeTown" maxlength="50"></td>
  					<td></td>
					<td></td>
														<td></td>
													</tr>
				<tr>
					<td height="30"><b>Vorname:</b></td>
  					<td><input name="Vorname" type="text" id="Vorname" maxlength="50"></td>
					<td></td>
					<td><b>Nachname:</b></td>
														<td><input name="Nachname" type="text" id="Nachname" maxlength="50"></td>
													</tr>
				<tr>
					<td height="10">&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
														<td>&nbsp;</td>
													</tr>
				<tr>
					<td height="30"><b>Username:</b></td>
  					<td><input name="User" type="text" id="User" maxlength="50"></td>
					<td></td>
					<td><b>Passwort:</b></td>
														<td><input name="Passwort" type="password" id="Passwort" maxlength="40"></td>
													</tr>
				<tr>
					<td height="10">&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
						<td>&nbsp;</td>
														<td>&nbsp;</td>
													</tr>
				<tr>
					<td height="80" valign="top"><b><br>Beschreibung:</b></td>
  					<td><textarea class="Stil30" name="Beschreibung" type="text" id="Beschreibung" rows="4" cols="25"></textarea></td>
					<td></td>
					<td valign="top"><b><br>Referenz:</b></td>
														<td><textarea name="Reference" type="text" id="Reference" rows="4" cols="25"></textarea></td>
													</tr>
				<tr>
					<td height="10">&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
														<td>&nbsp;</td>
													</tr>
				<tr>
					<td height="30"></td>
					<td align="center" colspan="2"><input name="clear"type="reset" value="L&ouml;schen"></td>
					<td></td>
					<td align="center" colspan="2"><input name="Send" type="submit" value="Senden"></td>
					<td></td>
				</tr>
				</table>

 
</form>
<?php
}
?>
 
Wenn du : WHERE id = '$id' benutzt, dann musst du id auch deklarieren.
Irgendwoher muss der Wert ja kommen (ich nehme an du übergibst
ihn per $_POST Variable?

Gruß
Carrear
 
Hallo

Ja ich hole mir dir ID über ein Loginformular.
Ich wollte auch für später noch gerne den Inhalt der in der DB steht ausgeben in den Feldern wo er hin soll, aber das ist das kleinere problem er speichert es nur nicht habe es auch schon zum testen über ein anderen versuch probiert aber bekomme das selbe ergebnis er speichert es einfach nicht

das andere Formular:
PHP:
<?php

$DatabaseHost = "localhost";
$DatabaseUser = "****";
$DatabasePassword = "*******";
$Database = "*******";
$TableAktivierung = "User2";


$DatabasePointer = mysql_connect($DatabaseHost, $DatabaseUser, $DatabasePassword);
	mysql_select_db($Database, $DatabasePointer);

$res=mysql_query("SELECT * FROM User2 WHERE id = '$id'"); 
while($row=mysql_fetch_array($res)) {
  echo include ("formular.htm"); 
}

if($_POST['update']) { 
  mysql_query("UPDATE User2 SET DJName = '".$_POST['DJName']."',WHERE id = '$id'");
}  

?>

HTML:
<form action="datei.php" method="POST" name="form">
  <input name="DJName" type="text" id="DJName" value="$row[DJName]">
  <input type="submit" name="update" value="speichern">
</form>

aber so gibt er mir nicht mal den Inhalt aus und speichern tut er auch nicht weiß einfach nicht wo mein Fehler leigt.

lg Michél
 
Wie Carrear schon sagte: Es fehlt das $ID.

Code:
$id = $_POST['id'];


$res=mysql_query("SELECT * FROM User2 WHERE id = '$id'");  


if($_POST['update']) { 
  mysql_query("UPDATE User2 SET DJName = '".$_POST['DJName']."',WHERE id = '$id' ");
}
 
Zuletzt bearbeitet:
Stimmt nicht ganz da ich die ID über die Adresse aufrufe (datei.php?id=2) und da gibt er mir bei dem 2. Formular nicht mal was aus, aber beim 1. wenn ich den SELECT teil mit einfüge

lg michél
 
Und der UPDATE Befehl funktioniert nicht wie insert. http://dev.mysql.com/doc/refman/5.1/de/update.html

Folgendes ist also falsch.

PHP:
 mysql_query("UPDATE User set (User, Passwort, DJName, Vorname, Nachname, Act, Style, DJseit,  
    HomeTown, Beschreibung, Reference, LetzterLogin, EMail,  
    Geburtstagjahr, Geburtstagmonat, Geburtstagtag)...

richtig wäre
PHP:
mysql_query("UPDATE User SET User='', Passwort=''....

Ist aber im zweiten Beispiel komischer Weise wieder richtig...wenn Du ihm dann noch anhand der ID sagst welchen Datensatz er ändern soll klappts auch mitm Nachbarn :)
 
Zuletzt bearbeitet:
Also wenn ich das so schreibe passiert ebenfalls nix

PHP:
mysql_query("UPDATE User SET User='".$_REQUEST['User']."', Passwort='".$_REQUEST['Passwort']."', 
	DJName='".$_REQUEST['DJName']."', Vorname='".$_REQUEST['Vorname']."', Nachname='".$_REQUEST['Nachname']."', 
	Act='".$_REQUEST['Act']."', Style='".$_REQUEST['Style']."', DJseit='".$_REQUEST['DJseit']."', 
	HomeTown='".$_REQUEST['HomeTown']."', Beschreibung='".$_REQUEST['Beschreibung']."', 
	Reference='".$_REQUEST['Reference']."', LetzterLogin=NOW(''), Aktivierungscode='$Aktivierungscode', 
	Erstellt='$Erstellt', EMail='".$_REQUEST['EMail']."', Geburtstagjahr='".$_REQUEST['jahr']."', 
	Geburtstagmonat='".$_REQUEST['monat']."', Geburtstagtag='".$_REQUEST['tag']."' WHERE id='$id'", 
	$DatabasePointer );
 
Einrücken erhöht doch die Lesbarkeit des Codes...

PHP:
$query	=	'UPDATE 
				User 
			SET 
				`User`				= "'.$_REQUEST['User'].'",
				`Passwort`			= "'.$_REQUEST['Passwort'].'",
    			`DJName`			= "'.$_REQUEST['DJName'].'",
				`Vorname`			= "'.$_REQUEST['Vorname'].'",
				`Nachname`			= "'.$_REQUEST['Nachname'].'",
    			`Act`				= "'.$_REQUEST['Act'].'",
				`Style`				= "'.$_REQUEST['Style'].'",
				`DJseit`			= "'.$_REQUEST['DJseit'].'",
    			`HomeTown`			= "'.$_REQUEST['HomeTown'].'",
				`Beschreibung`		= "'.$_REQUEST['Beschreibung'].'",
    			`Reference`			= "'.$_REQUEST['Reference'].'",
				`LetzterLogin`		= "'.NOW().'",
				`Aktivierungscode`	= "'.$Aktivierungscode.'",
   				`Erstellt`			= "'.$Erstellt.'",
				`EMail`				= "'.$_REQUEST['EMail'].'",
				`Geburtstagjahr`	= "'.$_REQUEST['jahr'].'",
    			`Geburtstagmonat`	= "'.$_REQUEST['monat'].'",
				`Geburtstagtag`		= "'.$_REQUEST['tag'].'"
			WHERE 
				`id`					= "'.$id.'"';
$result = mysql_query($query);

Ansonsten mal mysql_error() was sagen lassen.
 
Stimmt nicht ganz da ich die ID über die Adresse aufrufe (datei.php?id=2) und da gibt er mir bei dem 2. Formular nicht mal was aus, aber beim 1. wenn ich den SELECT teil mit einfüge

lg michél

Trotzdem musst du das ganze übergeben, dann eben mit einer $_GET Variable. Was meinst du denn wie die ganze Geschichte in die Variable kommen soll?

Guß
Carrear
 
Also nen mysql_error gibt er mir nicht aus.
Das Formular führt er ja aus ohne fehler aber er speichert es leider nicht beim Update halt nur beim Insert Into.
 
Zurück