Ankündigung

Einklappen
Keine Ankündigung bisher.

UPDATE und mysqli_query

Einklappen

Neue Werbung 2019

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

  • UPDATE und mysqli_query

    Hallo Leute,
    ich versuche Datensätze in meiner DB zu ändern.
    PHP-Code:

    function setVotedByCount($PostID)
    {
        
    $connect mysqli_connect (DB_HOST,DB_USER,DB_PASS,DB_NAME) or die( "Die Datenbank konnte nicht erreicht werden!" );
        
    $CountVoted=getVotedByCount($PostID);
        
    $sql1 ="UPDATE`startseite` SET `voted_by_count`='".$CountVoted+."'  where id='".$PostID."'";
        
    mysqli_query($sql1$connect);
        
    mysqli_close($connect);
        return 
    $Count;
            
    //Hier soll mur der voted_by_count wert erhöht werden
    }


    function 
    setSterne($PostID,$NeueSternEingabe,$user_name)
    {
        
    //GetSterne->DB->GetVotedByCount->NeuSterne=((Sterne*Count)+NeueSterne):(Count++)->SetVotedByCount+1->add username to voted_by
        
    $connect mysqli_connect (DB_HOST,DB_USER,DB_PASS,DB_NAME) or die( "Die Datenbank konnte nicht erreicht werden!" );
        
    $SterneAktuell=getSterne($PostID);
        
    $CountAktuell=getVotedByCount($PostID);
        
    $NeueSterne=(($SterneAktuell*$CountAktuell)+$NeueSternEingabe)/($CountAktuell+1);
        
    $sql1 ="UPDATE `startseite` SET `post_voting`='".$NeueSterne."', `voted_by`='".$user_name."', `voted_by_count`='".$CountAktuell+."' where id='".$PostID."'";
        
    mysqli_query($connect,$sql1);
        
    mysqli_close($connect);
            
    //Hier wird es etwas komplizierter. Die Berechnung stimmt aber und ich teile nicht durch Null o.Ä.

    Verbunden wird, doch selbst wenn ich anstatt den variablen einfach so Werte in die SQL-Anweisung einsetze ändert sich nichts in der DB. Was mache ich falsch?


  • #2
    Also, zuerst einmal ein mysqli_connect in einer Funktion ist schon mal schlecht, das solltest du vermeiden und besser die Ressource-ID der Funktion übergeben. Und dann baue mal mysqli_error ein, um zu sehen, ob MySQL was zu meckern hat.
    Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

    Kommentar


    • #3
      Schreib das mal zu Beginn deines Scriptes bzw. bevor die connection erstellt wird:

      PHP-Code:
      mysqli_report(MYSQLI_REPORT_ERROR);  // Report errors from mysqli function calls 
      Alternativ mysqli_error() nach jeder Operation abfragen oder halt mit ... or die(...)
      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #4
        Zitat von uha Beitrag anzeigen
        Also, zuerst einmal ein mysqli_connect in einer Funktion ist schon mal schlecht, das solltest du vermeiden und besser die Ressource-ID der Funktion übergeben. Und dann baue mal mysqli_error ein, um zu sehen, ob MySQL was zu meckern hat.
        Muss ja nicht super professionell sein, ich bin zu frieden wenn etwas funktioniert

        Habe das jetzt eingebaut:
        PHP-Code:
            If (!mysqli_query($sql1$connect))
                {
                     echo(
        "Error description: " mysqli_error($con));
                } 
        Gibt mir keine Fehler aus.
        Die Anweisungen funktionieren manuell übrigens bestens

        Zitat von hausl Beitrag anzeigen
        Schreib das mal zu Beginn deines Scriptes bzw. bevor die connection erstellt wird:

        PHP-Code:
        mysqli_report(MYSQLI_REPORT_ERROR);  // Report errors from mysqli function calls 
        Alternativ mysqli_error() nach jeder Operation abfragen oder halt mit ... or die(...)
        Gemacht, wirft nichts aus. Kann es sein, dass Update bei 1und1 geblockt ist wenn es nicht über phpmyadmin gemacht wird? deleten klappt problemlos

        Kommentar

        Lädt...
        X