[MySQL 4.1] Update läuft nicht

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

  • [MySQL 4.1] Update läuft nicht

    Hi, ich hab folgendes Script:
    PHP-Code:
    if (isset($_GET["down"])){ 
    echo 
    "<meta http-equiv='refresh' content='4;url=" $result["url"] . "' />";
    UPDATE `DownloadsSET `counter` = '' counter '' WHERE CONVERT(`idUSING utf8) = '' $_GET["down"] . ''
    Nur leider wird der Wert im Counter nicht um 1 erhöht, die Bedingung ist erfüllt, die automatische Weiterleitung wird ausgegeben.
    Wisst ihr weiter?

  • #2
    mysql_query() ????
    gruss Chris

    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

    Kommentar


    • #3
      Muss ich das nur in mysql query tun und der macht das? Oder muss ich da noch irgendwas mit Variabeln machen?
      So habsch dat jetz:
      PHP-Code:
      mysql_query("UPDATE `Downloads` SET `counter` = '" counter "' WHERE CONVERT(`id` USING utf8) = '" $_GET["down"] . "'"); 
      Erhöht aber nich
      Zuletzt geändert von Dulla_Po; 03.12.2006, 12:53.

      Kommentar


      • #4
        dann mach mal

        mysql_query(DEIN BEFEHL) or die (mysql_error())
        gruss Chris

        [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

        Kommentar


        • #5
          Hier, das gibt er zurück:
          Code:
          You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right
           syntax to use near '1' WHERE CONVERT(`id` USING utf8) = '1'' at line 1
          So sieht se grad aus:
          PHP-Code:
          mysql_query("UPDATE `Downloads` SET `counter` = '" $result["counter"] + "' WHERE CONVERT(`id` USING utf8) = '" $_GET["down"] . "'"); 

          Kommentar


          • #6
            Dann lass dir doch mal dein Query ausgeben

            [php]
            $sql = "DEINE ABFRAGE";
            $result = mysql_query($sql) or die("SQL BEFEHL: $sql <br />".mysql_error());
            [php]

            Im übriben .. Numerische werte brauchst du nicht in hochkommata zu setzen.

            ...... utf8) = ".intval($_GET["down"]);

            sollte reichen.

            EDIT:

            Ach ja.. $_GET Parameter einfach so zu übernehmen ist nicht gerade klug. Stichwort: SQL Injection

            gruss Chris

            [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

            Kommentar


            • #7
              Hmm, kann man den Befehl so überhaupt schreiben?
              Also wie machst du denn das immer.
              Die Tabelle heißt Downloads und die Spalte counter. Counter ist ein Integer Wert und soll um 1 erhöht werden, bei jedem Aufruf, der zählt nämlich die downloads. Wie würde denn dein Skript aussehen, ich komm irgendwie nich mehr auf nen grünen Zweig. Kann ich dir die .php mal uploaden, vllt. liegt der Fehler ja woanders?

              Kommentar


              • #8
                PHP-Code:
                if (isset($_GET["down"]) && is_numeric($_GET["down")

                   
                $sql "UPDATE `tabelle` SET counter = counter +1 WHERE id = ".$_GET["down"];

                  
                $res mysql_query($sql) or die (mysql_error());

                  
                // Vorausgesetzt es wurde noch nichts an den Browser gesendet.
                  
                header("Location: ".$result["url"]); 
                } else {
                  echo 
                "Fehler"// $_GET["down"] existiert nicht oder ist keine Zahl

                gruss Chris

                [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                Kommentar


                • #9
                  Supi jetz läufts, der hat die übergeschleiften Variabeln nicht mit intval genommen. Aber ich hab jetz n andres Problem^^. Ich kann nix aus meiner Datenbank ausgeben wenn die variable id ist!
                  Ich hab den Quelltext mal geuploaded, hoffentlich kannst du durchsehen:
                  Tut mir leid, das ich dich so belästige, aber ich kanns mir einfach nicht erklären. Immer läuft was nich!

                  Der markierte Teil läuft nich

                  Kommentar


                  • #10
                    Der Markierte Text?

                    Mann mann mann ..

                    PHP-Code:
                    //Zeile 27
                    $such mysql_query(DEINSQL) or die(mysql_error()); 
                    Oder mach einfach mal print_r($result)..

                    Kommt da überhaupt was raus?
                    gruss Chris

                    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                    Kommentar


                    • #11
                      Ja, da kommt was raus, ich habs mal gleich darunter geschrieben, da kam der Produktname raus. Kanns sein, das gar keine Verbindung zur MYSQL Datenbank hergestellt wird, wenn da nur eine Id ist?
                      und warum mann mann mann?

                      Kommentar


                      • #12
                        Wo hast du was drunter geschrieben?

                        Und wo liegt überhaupt dein Problem?
                        gruss Chris

                        [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                        Kommentar


                        • #13
                          Unter $result = mysql_fetch_assoc($such);
                          hab ich das runter geschrieben. Also $result["product"].
                          Dort wurde der Name des Produkts auch noch ausgegeben. Aber wenn das $result["product"] da steht wo ich im Bild das Makiert habe, wird dort nix ausgegeben

                          Kommentar


                          • #14
                            Was sollte deiner Meinung nach denn da stehen?
                            gruss Chris

                            [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                            Kommentar


                            • #15
                              Da sollte eigentlich Rome Allawars stehen. So heißt das Produkt.
                              Demnach beim Markierten der title "Download von Rome Allawars"

                              Kommentar

                              Lädt...
                              X