PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Update verweigert den Dienst


BlackSnake
27.01.2004, 18:57:17
Servus,

undwieder ein Problem:).

Also mein Code sieht so aus:

include("db_connect.php");
$aendern = "UPDATE Firmen SET Unternehmen = '$Unternehmen' WHERE Firmen_ID='$Firmen_ID' AND Password='$Password'";
$update = mysql_query($aendern);
echo $Unternehmen;

Soweit so gut, allerdings trägt UPDATE nichts in die Datenbak ein.
Die Variable die es eintragen soll hat auch einen Inhalt was ich it dem echo am Ende überprüft habe.

Kann mir einer Helfen?

feuervogel
27.01.2004, 20:52:14
hm, also erstmal irritiert mich deine groß/kleinschreibung bei den spaltennamen. zweitens ist "password" ein reserviertes wort in mysql. diese musst du, wenn du sie als spaltennamen benutzt, immer in backsticks setzen: `spalte`

hoffe es hilft?

vollständige liste:

http://www.mysql.de/doc/de/Reserved_words.html

BlackSnake
27.01.2004, 21:17:20
Also das mit den backsticks hat leider auch nix gebracht.
Was die Groß und Kleinschreibung betrifft wär sie mir anders auch lieber aber die tabelle ist schon von jemand anders gemacht worden und da basiert grad ne Webseite drauf die nach und nach modernisiert werden muss. Allerdings sollte sie trotzdem noch funktionieren was durch das ändern der Spaltennamen nicht mehr der Fall ist, also muss ich damit leben und es mit dieser Schreibung zum laufen bekommen.

NanoCyte
27.01.2004, 21:38:47
einzige logischer erklärung: es ist kein datensatz mit der Firmen_ID und dem password da.
also nochmal überprüfen, ob du auch die richtigen daten hast!

meikel
27.01.2004, 23:02:20
Original geschrieben von BlackSnake
undwieder ein Problem:).
Wer hätte das gedacht.

include("db_connect.php");
$aendern = "UPDATE Firmen SET Unternehmen = '$Unternehmen' WHERE Firmen_ID='$Firmen_ID' AND Password='$Password'";
$update = mysql_query($aendern);
echo $Unternehmen;
Soweit so gut, allerdings trägt UPDATE nichts in die Datenbak ein.
Die Variable die es eintragen soll hat auch einen Inhalt was ich it dem echo am Ende überprüft habe.
Daß in $Unternehmen was drin steht, beutet noch lange nicht, daß die anderen Variablen ebenfalls sinnvolle Werte enthalten und daß es einen passenden Datensatz gibt, den MySQL updaten könnte.
Kann mir einer Helfen?
Nein, weil ich Deine Logindaten nicht habe. <gg>
Geparsten SQL String mit print ($aendern) ausgeben lassen, über die Zwischenablage in das SQL Fenster von PhpMyAdmin kopieren und dort auf SQL Fehler überprüfen.

So mache ich das und muß deshalb kaum Fragen stellen, weil ich meine Fehler selber finde.

BlackSnake
27.01.2004, 23:19:00
Servus;

@meikel:
Da ich von der Möglichkeit sql-code bei PhpMyAdmin testen zu lassen noch nichts wusste konnte ich das auch nicht. Klingt glaube ich ganz logisch.

Ausserdem kostet Fragen bekanntlich ja auch nix. Ausserdem wird glaube ich ein Forum gerade wegen der Fragen betrieben. War zumindest meine Theorie.
Auch egal.Muss ich mit leben.

meikel
27.01.2004, 23:25:23
Original geschrieben von BlackSnake
Ausserdem kostet Fragen bekanntlich ja auch nix.
Das stimmt, aber gerade bei SQL Abfragen kann man, ohne Zugriff auf die Datenbank und auf den von PHP komplettierten SQL String zu haben, als Außenstehender meist nur raten, woran es liegt. Das ist nicht sehr effektiv - eine Nadel im Heuhaufen findet man schneller.

btw: haben die Ergebnisse des Ratschlages zu einer Erleuchtung geführt?

BlackSnake
28.01.2004, 12:11:18
Also die Erleuchtung kam etwas. Immerhin funktioniert es jetzt wenn ich statische Werte im Skript für Firmen_ID und Unternehmen habe das diese eingetragen werden.

Also wenn es dann so aussieht:

$sql = 'UPDATE `firmen` SET `Unternehmen` = "blablabla" WHERE `Firmen_ID`=1515' ;
$update = mysql_query($sql);

Geht es, dann steht unter Unternehmen in der Tabelle "blablabla". Allerdings trägt er keine Daten aus Variablen ein.

BlackSnake
28.01.2004, 12:24:59
Ok, nun is es taghell.

Ich hab die Lösung, mein fertiger Code sieht nun so aus:

$aendern = "UPDATE `firmen` SET `Unternehmen`='$Unternehmen' WHERE `Firmen_ID`=1515" ;
$update = mysql_query($aendern);

Nun wird der Inhalt von $Unternehmen in der Tabelle gespeichert.

meikel
28.01.2004, 14:30:25
Original geschrieben von BlackSnake
Ok, nun is es taghell.
Ich hab die Lösung,
Fein. Und jetzt gehste in die Werkstatt, holst Hammer und Meißel und meißelst Dir das Verfahren, mit dem Du die Lösung gefunden hast, gut sichtbar an die Wand... ;-)

BlackSnake
28.01.2004, 14:38:15
Original geschrieben von meikel
Fein. Und jetzt gehste in die Werkstatt, holst Hammer und Meißel und meißelst Dir das Verfahren, mit dem Du die Lösung gefunden hast, gut sichtbar an die Wand... ;-)


Wird gemacht!!!! :-)