[MySQL 4.1] Update läuft nicht

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [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]

    Comment


    • #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
      Last edited by Dulla_Po; 03-12-2006, 11:53.

      Comment


      • #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]

        Comment


        • #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"] . "'"); 

          Comment


          • #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]

            Comment


            • #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?

              Comment


              • #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]

                Comment


                • #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

                  Comment


                  • #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]

                    Comment


                    • #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?

                      Comment


                      • #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]

                        Comment


                        • #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

                          Comment


                          • #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]

                            Comment


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

                              Comment

                              Working...
                              X