Ankündigung

Einklappen
Keine Ankündigung bisher.

Wo ist der fehler?

Einklappen

Neue Werbung 2019

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

  • Wo ist der fehler?



    ich hab da ein Problem mit meinem Skript, weiss aber nicht wie ich das richtig stellen muss! Könnt ihr euch das bitte mal angucken?

    Code:
     $sql = "SELECT
    							Name,
    							ID,
    							Passwort
         						   FROM
        					        	Benutzer
    						   WHERE
    							ID = '$ID'           
    					";
    					        
    					    $result = mysql_query($sql) OR die(mysql_error());
            
    					    echo "";
     					   while($row = mysql_fetch_assoc($result)) {
     					       
    
    if ($passwort1 != $row['Passwort'])
    	echo "Das Passwort ist falsch, gib es bitte noch einmal ein!";
    else {
    	$sql1="
    INSERT INTO 
    	Tipps(User,SpieltagU,Spiel1U,Spiel2U,Spiel3U,Spiel4U,Spiel5U,Spiel6U,Spiel7U,Spiel8U,Spiel9U) VALUES('$ID','$nummer','$spiel1','$spiel2','$spiel3','$spiel4','$spiel5','$spiel6','$spiel7','$spiel8','$spiel9');";
        $result = mysql_query($sql1) OR die(mysql_error());
    }
    }
    Es kommt dann immer folgende Fehlermeldung:

    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /www/htdocs/v082488/BL/tippabgabe.php on line 37
    Vielen Dank,
    Max Dhom

  • #2
    was sagt ein var_dump auf $result nach mysql_query?
    --
    kostenlose geschenklisten unter www.wunli.de

    Kommentar


    • #3
      ui da bin ich überfragt, hab keine ahnung was du meinst.. :S !
      Kannste des mal genauer erklären?

      Kommentar


      • #4
        folgenden Code

        PHP-Code:
        <?php
        $result 
        mysql_query($sql) OR die(mysql_error());
        echo 
        "";
        while(
        $row mysql_fetch_assoc($result)) {
        ?>
        nach
        PHP-Code:
        <?php
        $result 
        mysql_query($sql) OR die(mysql_error());

        echo 
        "<pre>";
        print_r($result);
        echo 
        "</pre>";

        echo 
        "";
        while(
        $row mysql_fetch_assoc($result)) {
        ?>
        ändern und die Ausgabe mal posten.
        --
        kostenlose geschenklisten unter www.wunli.de

        Kommentar


        • #5
          Resource id #5

          Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /www/htdocs/v082488/BL/tippabgabe.php on line 40


          Sowas bringt er mir dann, weiss aber ned ob ich das richtig eingebaut habe...

          Kommentar


          • #6
            Was macht da eigentlich die while Schleife?
            Wieviele Datensätze mit einer bestimmen ID gibt es maximal?
            Alles raus, was keine Miete zahlt.
            PHP-Code:
            <?php
            error_reporting
            (E_ALL); ini_set('display_errors'true);

            $sql "SELECT
               Name,
               ID,
               Passwort
             FROM
               Benutzer
             WHERE
               ID = '
            $ID'";
                                  
            $result mysql_query($sql) OR die(mysql_error());
            $row mysql_fetch_assoc($result);
            if (!
            $row) {
                die(
            'Kein Benutzer mit id:'.$ID);
            }
            else {
                if (
            $passwort1 !== $row['Passwort']) {
                    die(
            'Das Passwort ist falsch, gib es bitte noch einmal ein!');
                }
                else {
                    echo 
            'Passwort für ID:'.$ID.' ist richtig';
                }
            }
            ?>

            Kommentar


            • #7
              lass dir mal den sql-string anzeigen. ich setze immer noch auf einen Fehler darin.
              Einfach echo $sql
              --
              kostenlose geschenklisten unter www.wunli.de

              Kommentar


              • #8
                hmm deinen code verstehe ich jetzt nicht so ganz, Bruchpilot!
                Zum Beispiel den Teil mit

                if (!$row) {
                die('Kein Benutzer mit id:'.$ID);
                }

                Also es gibt eigentlich nur benutzer mit ID!
                Wieviel Datensätze mit einer bestimmten ID gibt es maximal? Naja, dass kann ich so nicht gneau sagen, hängt davon ab wieviel sich da anmelden, vermultich so um die 20!

                Kommentar


                • #9
                  probiers mal statt
                  PHP-Code:
                  <?php
                  $sql 
                  "SELECT
                     Name,
                     ID,
                     Passwort
                   FROM
                     Benutzer
                   WHERE
                     ID = '
                  $ID'"
                  ?>
                  hiermit

                  PHP-Code:
                  <?php
                  $sql 
                  "SELECT
                     Name,
                     ID,
                     Passwort
                   FROM
                     Benutzer
                   WHERE
                     ID = '"
                  .$ID."'"
                  ?>

                  Kommentar


                  • #10
                    bei John Rambos Variante ändert sich nix, werd mir jetzt mal diesen String ausgeben lassen, moment!

                    :edit:
                    SELECT Name, ID, Passwort FROM Benutzer WHERE ID = '1'
                    Kommt da raus, war aber ja auch klar steht ja so im Code

                    Kommentar


                    • #11
                      Zitat von max-dhom
                      hmm deinen code verstehe ich jetzt nicht so ganz, Bruchpilot!
                      Offensichtlich nicht nur "nicht so ganz" sondern überhaupt nicht. Und die Frage auch nicht.

                      Wieviele Benutzer mit ID=3 gibt es maximal? Wieviele mit ID=5? Wieviele Datensätze mit einer bestimmen ID gibt es maximal? Ist die Antwort vielleicht "jeweils maximal einen"? Wozu dann also die while Schleife? Überflüssiger Code, verwirrend und unnötige Fehlerquelle.

                      Zitat von max-dhom
                      Zum Beispiel den Teil mit

                      if (!$row) {
                      die('Kein Benutzer mit id:'.$ID);
                      }
                      $ID=10234523 => SELECT - FROM - WHERE ID = '10234523'
                      Und den Datensatz gibt's nun zufällig nicht. Dann ist $row nach mysql_fetch_assoc gleich FALSE. Und das wird da abgetestet.

                      Kommentar


                      • #12
                        Also es gibt pro ID genau einen Benutzer!
                        Und in meinem fall wo ich das teste ist auch die ID (in dem fall 1) eindeutig vergeben, d.h. es gibt einen Datensatz mit ID=1!

                        Kommentar


                        • #13
                          Ja. Und deshalb keine while Schleife.
                          Wie oft wird die Schleife sonst maximal durchlaufen? Einmal. Also Blödsinn, weg damit.

                          Kommentar


                          • #14
                            achso! Hab jetzt mal deine Code eingebaut und modifiziert, jetzt scheints zu klappen!

                            Vielen Dank nochmals!
                            Grüsse,
                            Max

                            Kommentar

                            Lädt...
                            X