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)

Potassium 14.09.2006 02:42

UPDATE geht in PHP nicht, direkt aber schon
 
Code:

$sql = "UPDATE ".TABLE_PROFILES." SET Profile_Text = '".$Text."' WHERE Profile_Type = '".$Type."' AND User_ID = '".$_SESSION["UID"]."' LIMIT 1";
$query = mysql_query($sql);

wenn man $sql ausgeben lässt erhällt man folgendes:

Code:

UPDATE inst_user_profiles SET Profile_Text = 'test1234' WHERE Profile_Type = '7' AND User_ID = '1' LIMIT 1
Führt man die Query direkt aus zb mit MySQL-Front, dann funktionert es ohne Probleme und das Feld Profile_Text bekommt den Wert test1234.
Führt man die Query mit PHP aus, dann bekommt das Feld keinen Wert zugewiesen und weis ned warum.
Habt ihr irgendeine Idee?

hewlett 14.09.2006 08:51

dein Problem liegt hier:
Code:

".$_SESSION["UID"]."
zu viele Anführungszeichen.

http://www.millin.de/downloads/3-935...rzeichhtml.htm

Potassium 14.09.2006 10:13

Das is es leider ned.
Habs testweise auf '".$_SESSION['UID']."' geändert. Nützt auch nix.
Hab die gleiche Abfrage aber überall im Code und da geht sie.

hewlett 14.09.2006 10:49

was machst denn nachher mit der query variable? poste das mal!

Potassium 14.09.2006 10:52

PHP-Code:

if($do == "edit_profile"){
    
$Type = !empty($_GET["Type"]) ? $_GET["Type"] : "";
    if(!empty(
$Type)){
        
$Text $_POST["Text"];
        
$sql "UPDATE ".TABLE_PROFILES." SET Profile_Text = '".$Text."' WHERE Profile_Type = '".$Type."' AND User_ID = '".$_SESSION['UID']."' LIMIT 1";
        echo 
$sql;
        
$query mysql_query($sql);#,__FILE__,__LINE__);
        
echo 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]

"
;
    }



hLa 14.09.2006 11:34

ich vermute den Fehler bei "LIMIT" ... hab es noch nicht selbst ausprobieren können aber die Vermutung meinerseits geht dahin.

hewlett 14.09.2006 11:35

versuchs mal so:
PHP-Code:

$sql "UPDATE ".TABLE_PROFILES." SET Profile_Text = '$Text' WHERE (Profile_Type = $Type AND User_ID = $_SESSION['UID'])"


Potassium 14.09.2006 11:37

das kann nicht gegen wegen $_SESSION das gibt folgenden Fehler:
Zitat:

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in E:\htdocs\inst_cms\admin\profile_mgmt.php on line 87

hewlett 14.09.2006 11:39

dann mach halt noch hochkomma rein.

Potassium 14.09.2006 11:43

PHP-Code:

    $sql "UPDATE ".TABLE_PROFILES." SET Profile_Text = '$Text' WHERE (Profile_Type = $Type AND User_ID = ".$_SESSION['UID'].")"

Auch so funktioniert es nicht leider...


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:41 Uhr.

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