WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   UPDATE geht in PHP nicht, direkt aber schon (http://www.wcm.at/forum/showthread.php?t=199278)

hewlett 14.09.2006 11:49

und die felder heißen auch in der genau so?

und wennst das sql ausgibst und direkt in phpmyadmin ausführst?

Potassium 14.09.2006 11:52

wie gesagt, wenn ich den ausgegebene query-string manuell ausführe funktioniert es perfekt.
Felder heißen 100% genau so.

hewlett 14.09.2006 12:22

export mal die tabelle aus der db und stell den code hier rein dann probier ich das selber mal. lässt mir keine ruhe!

Philipp 14.09.2006 12:23

Ich würde es einmal so probieren:

PHP-Code:

if ($do == "edit_profile")

    if (isset(
$_GET['Type']) and isset($_POST['Text']))
    {  
        
mysql_query("UPDATE ".TABLE_PROFILES." SET Profile_Text = '".addslashes($_POST['Text'])."' WHERE Profile_Type = '".intval($_GET['Type'])."' AND User_ID = '".intval($_SESSION['UID'])."' LIMIT 1") or die("MySQL Fehler: ".mysql_errno()." ".mysql_error());
        
$Body "Das Profil wurde erfolgreich aktualisiert.
Klicken Sie [url='']hier[/url] um das geänderte Profil anzusehen.
[url='']Zurück zur Profilverwaltung[/url]

"

    } 



Potassium 14.09.2006 12:26

@hewlett:
Code:

CREATE TABLE `inst_user_profiles` (
  `Profile_ID` int(6) unsigned NOT NULL auto_increment,
  `User_ID` tinyint(4) NOT NULL default '0',
  `Profile_Type` tinyint(4) NOT NULL default '0',
  `Profile_Text` text NOT NULL,
  PRIMARY KEY  (`Profile_ID`)
) TYPE=MyISAM;

@Phillip: Genausowenig Wirkung wie bei einer Query. :(

Philipp 14.09.2006 12:33

Und es gibt keine Fehlermeldung? Was passiert wenn Du LIMIT 1 entfernst?

Code:

NOT NULL default '0'
NOT NULL wird bei default '0' schwer gehen ;). MySQL 5.0 würde diese Tabelle aufgrund dieses Syntaxfehlers erst gar nicht mehr anlegen.

Potassium 14.09.2006 12:46

LIMIT 1 entfernen nützt nix.
Fehler werden keinerlei angezeigt und affected_rows gibt 1 zurück.
Er bearbeitet das Feld ja auch sichtlich. Wenn ich zb vorher einen anderen Wert reinschreib und dann die Query laufen lassen ist das Feld nachher leer.
schreib ich hingegen $Text = "+++".$_POST["Text"]."+++";
dann steht nachher im DB-Feld drinnen "++++++"
hab das mim NOT NULL ausgebessert aber 0 != NULL oda?

Philipp 14.09.2006 13:58

Zitat:

Original geschrieben von Potassium
schreib ich hingegen $Text = "+++".$_POST["Text"]."+++";
dann steht nachher im DB-Feld drinnen "++++++"

Du meinst $Text = "+++".addslashes($_POST['Text'])."+++"; ;)

Wie sieht den eigentlich das dazupassende Formular aus?

Zitat:

Original geschrieben von Potassium
hab das mim NOT NULL ausgebessert aber 0 != NULL oda?
Bei einem numerischen Feld schon

Potassium 14.09.2006 14:00

Am Forular liegts wohl:
Code:

<form name="scheissdreck" method="post" action="profile_mgmt.php?do=edit_profile&Type=<%TYPE%>" enctype="application/x-www-form-urlencoded">
<h3>KOVO-Link bearbeiten</h3><hr>

<!--<input type="hidden" name="do" value="edit_profile">
<input type="hidden" name="sType" value="<%TYPE%>">-->
<input type="text" name="KOVO" value="<%TEXT%>" size="80">


<input type="reset" value="Zurücksetzen"> <input type="submit" name="subvalue="Speichern">
</form>

wenn man die GET parameter weg macht und die hiddenfields unkommentiert dann funktionierts WTF?

Philipp 14.09.2006 14:22

Und wo wird da $_POST['Text'] definiert? Ich sehe nur $_POST['sType'] und $_POST['KOVO']


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag