• Aktualisierte Forenregeln

    Eine kleine Änderung hat es im Bereich Forenregeln unter Abschnitt 2 gegeben, wo wir nun explizit darauf verweisen, dass Forenkommentare in unserer Heftrubrik Leserbriefe landen können.

    Forenregeln


    Vielen Dank

Problem mit UPDATE (MySQL)

W

wesker_re

Gast
Hallo,

es will mir einfach nicht in den Kopf rein, warum folgendes Update nicht klappt:

--------------------------------------------------------------------------------
<?php
$id = $HTTP_POST_VARS["id"];
$eintrag1 = $HTTP_POST_VARS["eintrag1"];
$eintrag2 = $HTTP_POST_VARS["eintrag2"];
$eintrag3 = $HTTP_POST_VARS["eintrag3"];

(database connect)

$sql = "UPDATE tabellenname Set id = '$id', eintrag1 = '$eintrag1', eintrag2 = '$eintrag2', eintrag3 = '$eintrag3' WHERE id = '$id'";
$aktion = mysql_query($sql);

(weiterleitung)

?>
--------------------------------------------------------------------------------

Ich habe das ein wenig geändert, normal steht der richtige Tabellenname drin und auch die Variablen heißen anders. Ich kann damit auch alle Einträge ändern, das einzige was nicht funkionert ist die ID.

Habe schon nachgesehen, die ID wird einwandfrei übergeben, nur in der DB wird sie nicht geändert. Alles andere hingegen schon.

Ach ja, das Format von ID: id int(5) UNSIGNED auto_increment Primärschlüssel

Bin langsam am verzweifeln..... :rolleyes:

Wäre nett, wenn mir jemand auf die Sprünge helfen könnte.

Bis die Tage...
wesker_re
 
warum willst du am primärschlüssel rumfriemeln? sowas lässt man immer die datenbank für sich regeln...
 
wesker_re am 17.02.2005 15:44 schrieb:
Hallo,

es will mir einfach nicht in den Kopf rein, warum folgendes Update nicht klappt:

--------------------------------------------------------------------------------
<?php
$id = $HTTP_POST_VARS["id"];
$eintrag1 = $HTTP_POST_VARS["eintrag1"];
$eintrag2 = $HTTP_POST_VARS["eintrag2"];
$eintrag3 = $HTTP_POST_VARS["eintrag3"];

(database connect)

$sql = "UPDATE tabellenname Set id = '$id', eintrag1 = '$eintrag1', eintrag2 = '$eintrag2', eintrag3 = '$eintrag3' WHERE id = '$id'";
$aktion = mysql_query($sql);

(weiterleitung)

?>
--------------------------------------------------------------------------------

Ich habe das ein wenig geändert, normal steht der richtige Tabellenname drin und auch die Variablen heißen anders. Ich kann damit auch alle Einträge ändern, das einzige was nicht funkionert ist die ID.

Habe schon nachgesehen, die ID wird einwandfrei übergeben, nur in der DB wird sie nicht geändert. Alles andere hingegen schon.

Ach ja, das Format von ID: id int(5) UNSIGNED auto_increment Primärschlüssel

Bin langsam am verzweifeln..... :rolleyes:

Wäre nett, wenn mir jemand auf die Sprünge helfen könnte.

Bis die Tage...
wesker_re

Wieso soll sich die id auch ändern? Du teilst der Datenbank mit, dass du im Datensatz, wo die id = $id ist, die id auf $id abgeändert werden soll, was sie aber bereits ist... oder missverstehe ich da etwas?
:confused:
 
MikeA am 18.02.2005 17:15 schrieb:
wesker_re am 17.02.2005 15:44 schrieb:
Hallo,

es will mir einfach nicht in den Kopf rein, warum folgendes Update nicht klappt:

--------------------------------------------------------------------------------
<?php
$id = $HTTP_POST_VARS["id"];
$eintrag1 = $HTTP_POST_VARS["eintrag1"];
$eintrag2 = $HTTP_POST_VARS["eintrag2"];
$eintrag3 = $HTTP_POST_VARS["eintrag3"];

(database connect)

$sql = "UPDATE tabellenname Set id = '$id', eintrag1 = '$eintrag1', eintrag2 = '$eintrag2', eintrag3 = '$eintrag3' WHERE id = '$id'";
$aktion = mysql_query($sql);

(weiterleitung)

?>
--------------------------------------------------------------------------------

Ich habe das ein wenig geändert, normal steht der richtige Tabellenname drin und auch die Variablen heißen anders. Ich kann damit auch alle Einträge ändern, das einzige was nicht funkionert ist die ID.

Habe schon nachgesehen, die ID wird einwandfrei übergeben, nur in der DB wird sie nicht geändert. Alles andere hingegen schon.

Ach ja, das Format von ID: id int(5) UNSIGNED auto_increment Primärschlüssel

Bin langsam am verzweifeln..... :rolleyes:

Wäre nett, wenn mir jemand auf die Sprünge helfen könnte.

Bis die Tage...
wesker_re

Wieso soll sich die id auch ändern? Du teilst der Datenbank mit, dass du im Datensatz, wo die id = $id ist, die id auf $id abgeändert werden soll, was sie aber bereits ist... oder missverstehe ich da etwas?
:confused:


irgendwie unlogisch...was wilst du die id updaten wenn du anhand der selben id schon den datensatz suchst!? ergibt keinen sinn und wenn die id primärschlüssel und auto ist kannste die eh net ändern?!

also lass mal das SET id weg...weil du ja mit dem Where schon den genauen datensatz hast und die id bleibt bei auto...

MfG
 
MikeA am 18.02.2005 17:15 schrieb:
Wieso soll sich die id auch ändern? Du teilst der Datenbank mit, dass du im Datensatz, wo die id = $id ist, die id auf $id abgeändert werden soll, was sie aber bereits ist... oder missverstehe ich da etwas?
:confused:
:ugly:

Ich glaube du hast Recht. Hatte glatt übersehen dass ich nur die alte ID übergeben habe. *gg* :finger:

THX!

und wenn die id primärschlüssel und auto ist kannste die eh net ändern?!
Doch, nun funzt es.

Bis die Tage...
Lucius
 
wesker_re am 19.02.2005 13:38 schrieb:
MikeA am 18.02.2005 17:15 schrieb:
Wieso soll sich die id auch ändern? Du teilst der Datenbank mit, dass du im Datensatz, wo die id = $id ist, die id auf $id abgeändert werden soll, was sie aber bereits ist... oder missverstehe ich da etwas?
:confused:
:ugly:

Ich glaube du hast Recht. Hatte glatt übersehen dass ich nur die alte ID übergeben habe. *gg* :finger:

THX!

und wenn die id primärschlüssel und auto ist kannste die eh net ändern?!
Doch, nun funzt es.

Bis die Tage...
Lucius

Mal ne frage...Du updatest ein datensatz anhand einer ID mit Where und änderst zu gleich die Datensatz ID durch eine andere übergebene ID ,die in datenbank als auto incresment ist?, die also meines erachtens automatisch vergeben wird und nicht update benötigt??! woher weist du das die ID nicht schon vergeben ist, die du dem datensatz neu gibts? oder versteh ich da was falsch?

Thx & Mfg
 
Zurück