MySQL UPDATE funktioniert nicht

  • huhu, ich bins mal wieder^^

    Hier steckt irgendwie der Wurm drin.. Fehler = The requested action with this object has failed.:

    Der Fehler steckt in der Funktion UserSetOnline

    [autoit]

    Case $Button_login
    Global $getusername
    Global $login_online = "1"
    Global $login_offline = "0"
    Global $login_username_fest = GUICtrlRead($login_username)
    Global $login_password_fest = GUICtrlRead($login_password)

    [/autoit][autoit][/autoit][autoit]

    MySQLConnect_user()
    $count = _CountRecords($sql_con_user,"chat_user","id")
    $getuserId = _GetColVals($sql_con_user,"chat_user","id")
    $getusername = _GetColVals($sql_con_user,"chat_user","username")
    $getpassword = _GetColVals($sql_con_user,"chat_user","password")

    [/autoit][autoit][/autoit][autoit]

    $b = 1
    Do
    If $getusername[$b] & $getpassword[$b] = GUICtrlRead($login_username) & GUICtrlRead($login_password) Then
    GUIDelete($login_gui)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $main_gui = GUICreate($wintitle_main, 800, 600)
    $edit_chattext = GUICtrlCreateInput("", 15, 575, 500, 21)
    $Button_text_send = GUICtrlCreateButton("Senden", 520, 575, 120, 21, 0)
    $List_chattext = Guictrlcreatelist("",15,25,625,500)
    $List_user = Guictrlcreatelist("",650,25,140,500)
    GUISetState(@SW_SHOW)

    [/autoit][autoit][/autoit][autoit]

    EndIf
    $b = $b + 1
    Until $b = $count +1

    [/autoit][autoit][/autoit][autoit]

    UserSetOnline($sql_con_user, $sTable = "chat_user", $sCol = "online", $sVal = "1", $wCol = "username", $wVal = $login_username_fest)

    [/autoit]

    Die Funktion UserSetOnline

    [autoit]


    Func UserSetOnline($oConnectionobj, $sTable, $sCol = "", $sVal = "", $wCol = "", $wVal = $login_username_fest)
    MySQLConnect_user()
    If IsObj($oConnectionObj) Then
    $query = $oConnectionobj.execute ("UPDATE " & $stable & " SET " & $sCol & "='" & $sVal &"' WHERE " & $wCol & "='" & $wVal &"';")
    $oconnectionobj.execute ($query)
    EndIf
    EndFunc

    [/autoit]


    Hoffe mir kann jemand Helfen ;)

  • in welcher Zeile erscheint denn der Fehler? 4? (in deinem Code unten)

    Probier doch einen execute mal ganz normal ohne die Variablen:
    "UPDATE chat_user SET online = '1' WHERE username = '"&$login_username_fest&"'"

    Haben deine User auch eine ID oder nur einen Username und ist dieser unique? Ansonsten solltest du gerade für updates der DB einen einzigartigen schlüssel verwenden da du sonst vielleicht mehrere User gleichzeitig editierst ;)

    EDIT:
    Mir ist da grad noch was aufgefallen:
    Bei Zeile 4 und 5 der Funktion muss da nicht nur der String ins $query übergeben werden?
    Also so:

    [autoit]

    Func UserSetOnline($oConnectionobj, $sTable, $sCol = "", $sVal = "", $wCol = "", $wVal = $login_username_fest)
    MySQLConnect_user()
    If IsObj($oConnectionObj) Then
    $query = "UPDATE " & $stable & " SET " & $sCol & "='" & $sVal &"' WHERE " & $wCol & "='" & $wVal &"';"
    $oconnectionobj.execute ($query)
    EndIf
    EndFunc

    [/autoit]

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D