Ankündigung

Einklappen
Keine Ankündigung bisher.

Datenbank Information Aktualisieren

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Datenbank Information Aktualisieren

    Hallo

    Ich habe hier ein script liegen das ich gerne für meine arbeit noch etwas anpassen würde.
    Jedoch bekomme ich es einfach nicht auf die kette die datenbank informationen zu UPDATEN

    PHP-Code:
    private function query($sql$arg$fetch false){
    require
    "config.php";
    $q $db->prepare($sql);
    $q->execute($arg);
    return
    $fetch $q->fetch(2) : $q
    }



    Das habe ich bisher versucht
    PHP-Code:
    public function setRoles ($isAdminNews$isAdminBewerbung$isAdminToDo$isAdminUsers$isAdminMods$isban$iswarn$notice$isAktiv$id$apikey ){

    $this->query("UPDATE useraccounts SET isAdminNews='$isAdminNews', isAdminBewerbung='$isAdminBewerbung', isAdminToDo='$isAdminToDo', isAdminUsers='$isAdminUsers', isAdminMods='$isAdminMods', isban='$isban', iswarn='$iswarn', isAktiv='$isAktiv', notice='$notice' WHERE id='$id'") ;

    $this->query("UPDATE useraccounts SET (isAdminNews, isAdminBewerbung, isAdminToDo, isAdminUsers, isAdminMods, isban, iswarn, notice, isAktiv ) VALUES (?, ?, ?, ?, ?, ? ,? ,? ,?)", array($isAdminNews$isAdminBewerbung$isAdminToDo$isAdminUsers$isAdminMods$isban$iswarn$notice$isAktivWHERE id='$id');
    return
    "Informationen Geupdatet"
    }


    PHP-Code:
    Fehlermeldung:
    [
    Mon Jun 29 12:29:56.462439 2020] [proxy_fcgi:error] [pid 20890] [client 185.22.143.78:42405AH01071Got error 'PHP message: PHP Parse error: syntax error, unexpected 'WHERE' (T_STRING), expecting ')' in /var/www/vhosts/kebogames.de/launcher.kebogames.de/web/api/v1/execute.php on line 130' 
    Mehr informationen bekomme ich leider nicht.

    Ich würde mich echt freuen wenn mir jemand helfen könnte.

    Vielen lieben dank


  • #2
    Mehr informationen bekomme ich leider nicht.
    Reicht aber aus. Die Ursache sind nicht escapte Sonderzeichen in dem Query, den du da zusammenbastelst.

    Kommentar


    • #3
      Okay könntest du mir sagen was genau die escapte Sonderzeichen in dem Query, sind ? Denn leider habe ich von php keine Ahnung sondern benutze die links in einer c# Anwendung.

      Kommentar


      • #4
        Aufgrund der Fehlermeldung kann es sich nur um ein Double Quote handeln. Mit der Beachtung des SQL Kontextwechsel (was hier jedoch völlig fehlt) träte das aber gar nicht erst auf.

        Andereseits kannst du ja mal spaßeshalber schauen, was denn in deinen Variablen überhaupt drin steht.

        Kommentar


        • #5
          Sorry da ich keine Ahnung davon habe kann ich damit leider nichts anfangen. Denn noch vielen lieben Dank für deine Zeit und deine versuchte Hilfe.


          Edit: in denn variabilien stehen zahlen von 0 - 3 die durch die Url weitergegeben werden.

          Kommentar


          • #6
            PHP-Code:
            $this->query("...", array($isAdminNews, [...], $isAktivWHERE id='$id'); 
            Fällt dir an der Zeile was auf? (außer dass ich etwas gekürzt habe)

            PS. Ein Hinweis darauf, was Zeile 130 ist, wäre ganz gut gewesen, so hab ich das erst beim zufälligen scrollen gesehen.

            Kommentar


            • #7
              VALUES (?, ?, ?, ?, ?, ? ,? ,? ,?)" Entfällt komplett ? Und dann sollte es funktionieren

              Also müsste der richtige Parameter so aussehen.


              PHP-Code:
              $this->query("UPDATE useraccounts SET (isAdminNews, isAdminBewerbung, isAdminToDo, isAdminUsers, isAdminMods, isban, iswarn, notice, isAktiv", array($isAdminNews$isAdminBewerbung$isAdminToDo$isAdminUsers$isAdminMods$isban$iswarn$notice$isAktivWHERE id='$id');
              return
              "Informationen Geupdatet"

              Ich teste das mal wenn ich Zuhause bin. Schreibe gerade. Im Handy

              Und danke für deine Geduld mit mir !!!!!

              Kommentar


              • #8
                Also müsste der richtige Parameter so aussehen.
                Nope, das ergibt zusätzlich noch einen SQL-Fehler.

                Kommentar


                • #9
                  Okay

                  Ich glaube ich habe es...
                  Meinst du etwa die ( die ich nicht schließe oder kann das komplett weg.
                  PHP-Code:
                  $this->query("UPDATE useraccounts SET (isAdminNews, isAdminBewerbung, isAdminToDo, isAdminUsers, isAdminMods, isban, iswarn, notice, isAktiv)", array($isAdminNews$isAdminBewerbung$isAdminToDo$isAdminUsers$isAdminMods$isban$iswarn$notice$isAktivWHERE id='$id');
                  return
                  "Informationen Geupdatet"

                  Kommentar


                  • #10
                    Ich verweise nochmal auf #6, wo ich die Zeile soweit gekürzt habe, dass es eigentlich auffallen sollte.

                    Kommentar


                    • #11
                      Ich schau mir das Zuhause nochmal in Ruhe an und wenn ich denn Fehler gefunden habe poste ich ihn hier

                      Kommentar


                      • #12
                        PHP-Code:
                         $this->query("UPDATE useraccounts SET  isAdminNews= ?, isAdminBewerbung= ?, isAdminToDo= ?, isAdminUsers= ?, isAdminApi= ?, isAdminMods= ?, isban= ?, iswarn= ?, notice= ?, WHERE id = ?", array($isAdminNews$isAdminBewerbung$isAdminToDo$isAdminUsers$isAdminApi$isAdminMods$isban$iswarn$notice$id)); 

                        Ich denke, das sollte die Lösung sein. // es funktioniert zumindest danke

                        Kommentar

                        Lädt...
                        X