[Funktion] mysql_result(), Problem

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

  • [Funktion] mysql_result(), Problem

    Hi,

    ich habe ein kleines Abfragesysten geschrieben.
    Die Ausgabe ist auch korrekt.
    Dennoch erscheint immer eine Fehlermeldung.

    Hier ist der Code:
    PHP-Code:
    <?php
    error_reporting
    (0);

       include 
    'config.php';
       
    $db_link mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS);
       
       
    mysql_select_db(MYSQL_DATABASE);
       
    $uidsql = ("SELECT `Userid` FROM `sessions`");
       
    $uidact mysql_query($uidsql) OR die(mysql_error());
       
    $uidactual_result mysql_result($uidact0);
       
       
    $sessnum mysql_num_rows($uidact);  
       echo 
    'User';
       
       for(
    $i 0$i <= $sessnum$i++){ 
       
    $usql = ("SELECT `Username` FROM `users` WHERE `ID` = '".($uidactual_result+$i)."'");
       
    $uact mysql_query($usql) OR die(mysql_error());

       
    //Hier scheint was nicht zu stimmen ?_?
       
    $usql_result mysql_result($uact0); //Line 18
       
       
       
    echo ' '.$usql_result.' '
       }
       echo 
    'ist online'
    ?>
    Und hier ist die gesamte Bildschirmausgabe:
    "User df srf sdf dgwr vsrfv srfsc
    Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 10 in ... on line 18
    ist online"

    Ich würde mich sehr über Hilfe freuen.
    Konkrete Hilfe. Ich werde aus den Erklärungen
    anderswo nicht schlau.

    mfg,
    Blackbox

    PS: df srf sdf dgwr vsrfv srfsc, sind ganz normale DB Einträge :>
    Ich wollte mir so spät keine besseren Testnamen ausdenken.
    Zuletzt geändert von Blackbox; 05.07.2008, 12:08.

  • #2
    Re: [Funktion] mysql_result(), Problem

    Original geschrieben von Blackbox
    PHP-Code:
       $usql_result mysql_result($uact0); //Line 18 
    entferne doch mal die ", 0"
    Gruß
    Uzu

    private Homepage

    Kommentar


    • #3
      Hi,

      ich habe schon so einiges probiert,
      mal die Null zu entfernen(was ein Syntaxfehler ist,
      so verzweifelt war ich schon).

      Fall es relevant sein sollte:
      Der Datenbankaufbau:
      Tabelle: sessions
      Spalten:
      ID INT KEY
      Dann kommt Userid VARCHAR(30)

      Tabelle: users
      Spalten:
      ID INT KEY
      und Username VARCHAR(30)

      "User

      Warning: Wrong parameter count for mysql_result() in ... on line 18

      Warning: Wrong parameter count for mysql_result() in ... on line 18

      Warning: Wrong parameter count for mysql_result() in ... on line 18

      Warning: Wrong parameter count for mysql_result() in ... on line 18

      Warning: Wrong parameter count for mysql_result() in ... on line 18

      Warning: Wrong parameter count for mysql_result() in ... on line 18

      Warning: Wrong parameter count for mysql_result() in ... on line 18

      ist online"

      Das Problem besteht weiterhin.

      mfg,
      Blackbox
      Zuletzt geändert von Blackbox; 05.07.2008, 12:31.

      Kommentar


      • #4
        Warum deaktivierst du das error-reporting???

        Vielleicht solltest du zuerst die Anzahl der Zeilen überprüfen, bevor du blind auf eine evtl. nicht vorhandene Zeile zugreifst.

        Imho macht mysql_result in deinem Fall mit einem dritten parameter auch mehr Sinn, ansonsten tuts ein mysql_fetch_assoc() genauso gut.

        PHP-Code:
        for($i 0$i <= $sessnum$i++){ 
           
        $usql = ("SELECT `Username` FROM `users` WHERE `ID` = '".($uidactual_result+$i)."'");
           
        $uact mysql_query($usql) OR die(mysql_error()); 
        BÖSE!!! Wie viele Queries willst du denn da absetzen? Warum reicht hier eine nicht?

        EDIT:
        Warum machst du nicht einen sauberen JOIN, dann kannst du mittels simpler schleife alle User ausgeben, die "online" sind.
        Zuletzt geändert von TobiaZ; 05.07.2008, 12:50.

        Kommentar


        • #5
          Hi,

          ich habe es jetzt ändern wollen.
          Aber könnt ihr bitte einem ... helfen?
          Ich habe jetzt prima ne JOIN Abfrage erstellt.

          Aber mysql_result zickt immer noch rum.
          Ich weis nicht welche Parameter dort hinein sollen,
          und warum wieviele.
          Ich kapiere die Erklärungen im Netz nicht.

          Ich wäre für weiterführende Hilfe
          undendlich Dankbar.
          Vor allem wenn es mehr ist als ein Link zu nem Tutorial,
          dass unverständlich ist.

          mfg,
          Blackbox
          Zuletzt geändert von Blackbox; 05.07.2008, 13:40.

          Kommentar


          • #6
            Aber mysql_result zickt immer noch rum.
            brauchst du jetzt auf gar keinen Fall mehr. Die alternative habe ich dir bereits genannt.

            Ich weis nicht welche Parameter dort hinein sollen,
            und warum wieviele.
            Das stünde im Manual.

            Ich kapiere die Erklärungen im Netz nicht.
            Kapier ich nicht, sagt recht wenig aus. Stell konkrete Fragen, dann bekommst du konkrete Antworten. Was und warum kapierst du nicht?

            Vor allem wenn es mehr ist als ein Link zu nem Tutorial, dass unverständlich ist.
            Fertigen Code oder so gibt es hier generell nicht. Das ist ein simples Grundlagenproblem, bei dem du noch nichtmal die ersten eigenen Ansätze geliefert hast. Warum sollen wir deine Probleme lösen.

            Hilfe zur Selbsthilfe, heißt das Motto!

            Versuch dich einfach mal mit der standard-lösung a la mysql_fetch_assoc().

            Kommentar


            • #7
              Hi,

              vielen Dank für deinen Hinweis
              Der Hinweis, dass diese Qualität der Programmierung
              zu Wünschen übrig lässt hat mir zu denken gegeben.
              Und mich dazu bewegt, mich vor ein PHP Buch zu hocken

              Übrigens: for($i = 0; $i <= $sessnum[COLOR=red]-1[/COLOR] ; $i++){
              hat ausgereicht.

              mfg,
              Blackbox

              Kommentar


              • #8
                Übrigens: for($i = 0; $i <= $sessnum-1 ; $i++){ hat ausgereicht.
                Damit setzt du immer noch X Queries ab, obwohl eine einzige reichen würde.

                Fazit: Das Buch war bist jetzt Verschwendung.

                Kommentar

                Lädt...
                X