mysql_query wird nicht ausgeführt, keine Fehlermeldung

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

  • #16
    Gute Tipps, werd ich versuchen.
    Habe mir schon die pmid und uid ausgeben lassen, war alles korrekt, in der Datenbakn (prüfe ich mit phpMyAdmin) gibt es auch einen Datensatz mit der pmid aber die spalte wo uid stehen sollte wurde nicht aktualisiert.

    $uid war in diesem Fall 1 und in der Datenbank steht 0 (standartwert).
    Werde mal alles ausprobieren, was ihr vorgeschlagen habt und gleich hierreineditieren.

    // edit1 Hier der Code drumherum:

    PHP Code:
    if(isset($_GET["pmid"])){
    $pmid = $_GET["pmid"];
        if($_GET["new"] == "answer"){
                if($_POST["answer"] != ""){
                    $text = $_POST["answer"];
                    $eintragen = sendanswer($pmid,$userid,$text);    
                      if(!$eintragen){
                         ?><div class="box_hell" style="width:800px;">
                                                     <div class="msg_warning">Fehler beim Eintragen der Nachricht.</div>
                                                </div><?
                      }
                      else{ // Wenn alles klappt:
                              ?><meta http-equiv="refresh" content="0; 
                                              URL=index.php?s=msg&pmid=<?echo $pmid;?>"><?
                      }
                }else{
                    ?><div class="box_hell" style="width:800px;">
                                         <div class="msg_warning">Keine Nachricht angegeben.</div>
                                     </div><?
                }    
            
        }
    }
    Danke schonmal bis hier

    //edit2: Leider immer noch keinen Fehler gefunden..
    Last edited by Spunk95; 16-02-2011, 19:13.

    Comment


    • #17
      PHP Code:
      function sendanswer ($pmid,$uid,$text){
              
      $update mysql_query("UPDATE msg SET opened = '1' AND last_answer = '1294761891' WHERE id = '24'")
              or die(
      mysql_error()); 
              if(
      $update){
                  return 
      true;
              }else{
                  return 
      false;
              }                                    

      Nichtmal so klappt es... Da muss doch was faul sein? ^^

      Comment


      • #18
        Warum steht dort ein AND? Meinst du vielleicht ein Komma?
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Comment


        • #19
          Originally posted by AmicaNoctis View Post
          Warum steht dort ein AND? Meinst du vielleicht ein Komma?
          Haha, genau xD Danke danke danke
          Komisch, das da keine Fehlermeldungen kommen.
          Last edited by Spunk95; 16-02-2011, 20:04.

          Comment


          • #20
            Originally posted by Spunk95 View Post
            Komisch, das da keine Fehlermeldungen kommen.
            Nein, nicht komisch, weil syntaktisch vollkommen korrekt.

            last_answer = '1294761891' ist ein Vergleichsausdruck, der true oder false bzw. in nummerischem Kontext 1 oder 0 ergeben kann.

            Und den verknüpfst du mit dem Textliteral '1', bevor du das Gesamtergebnis dieser Verknüpfung in die Spalte opened schreiben lässt.

            Der komplette Ausdruck
            Code:
            '1' AND last_answer = '1294761891'
            ergibt also 1 oder 0, je nachdem, ob in der Spalte last_answer bereits '1294761891' drin steht oder nicht.
            Dieses Ergebnis wird dann in opened eingetragen, und die Spalte last_answer bleibt unverändert, weil in deinem UPDATE-Statement gar keine Wertzuweisung für diese enthalten war.


            @Amica: Gutes Adlerauge, Danke.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Comment


            • #21
              Warum wird hier eigentlich kein mysql_real_escape_string() verwendet?

              Comment


              • #22
                @h3all: Beim Text hab ichs ja gemacht. Muss ichs auch für die anderen Sachen? Weil das ist ja nicht vom User eingegeben.

                @wahsaga: Danke für die Erklärung, habs halbwegs verstanden

                Und danke nochmal an AmicaNoctis

                Comment


                • #23
                  Code:
                  [COLOR=#000000]"
                  UPDATE msg 
                  SET opened = '".$uid."' AND last_answer = '".$timestamp."' 
                  WHERE id = '".$pmid."'
                  "[/COLOR]
                  also ich hab mal gelernt, dass AND und OR für logische Verknüpfungen verwendet werden, nicht aber um mehrere Änderungen aufzureihen ...

                  ersetze in dieser Abfrage mal das AND durch ein Komma ....
                  [font=Verdana]
                  Wer LESEN kann, ist klar im Vorteil!
                  [/font]

                  Comment


                  • #24
                    Originally posted by eagle275 View Post
                    ersetze in dieser Abfrage mal das AND durch ein Komma ....
                    Und du, lies vielleicht erst mal den kompletten bisherigen Thread-Verlauf ... :-)
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Comment


                    • #25
                      Haha steht sogar in seiner Signatur
                      Na ja, ich editier mal eben die Lösung in den Startpost und dann kann hier zu

                      // Danke für eure Hilfe

                      Comment

                      Working...
                      X