mysql_fetch_array & foreach

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

  • mysql_fetch_array & foreach

    Ich bekomme folgende Fehlermeldung:

    ~~~~~~~~~~~~~~
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
    I:\xampp\htdocs\stefan\league\files\functions.php on line 39

    Warning: Invalid argument supplied for foreach() in
    I:\xampp\htdocs\stefan\league\files\functions.php on line 40
    ~~~~~~~~~~~~~~

    bei diesem Code

    PHP Code:
    db_connect();      //connect zur DB
    $db_name "db_hi_league";
    $SQL_code "SELECT loginname FROM members";
    send_sql($db_name$SQL_code);  //Funktion um mysql_db_query auszuführen   // return = $res

    $arr mysql_fetch_array ($resMYSQL_ASSOC);
    foreach (
    $arr as $elem) {
    echo 
    "$elem <br>";

    und ich komm nicht drauf warum?
    Last edited by Earl of Green; 25-01-2005, 17:38.

  • #2
    mysql_error

    gerade wenn du das kapselst, kannst du das verwenden ...
    Die Zeit hat ihre Kinder längst gefressen

    Comment


    • #3
      $arr = mysql_fetch_array ($res, MYSQL_ASSOC);
      Welchen Wert hat $res????

      Comment


      • #4
        $res beinhaltet die Auswertung der Abfrage

        Comment


        • #5
          In deinem Schnippsel wird sie aber nicht gesetzt, oder?

          EDIT :

          Doch, grad erst bemerkt.

          Comment


          • #6
            Original geschrieben von derHund
            mysql_error

            gerade wenn du das kapselst, kannst du das verwenden ...
            Danke für den Tip, werde ich gleich probieren. Kannst Du mir sagen
            was das \n bedeutet in:
            PHP Code:
            echo mysql_errno() . ": " mysql_error(). "\n"
            Habs gemacht ... hat sich nix geändert und ich bekomme auch nix angezeigt:

            PHP Code:
                        $db_name "db_hi_league";
                        
            $SQL_code "SELECT loginname FROM members";
                        
            send_sql($db_name$SQL_code);
                        echo 
            mysql_error();
                        
            $arr mysql_fetch_array ($resMYSQL_ASSOC);
                        echo 
            mysql_error();
                         foreach (
            $arr as $elem) {
                         echo 
            "$elem";
                        } 
            Last edited by Earl of Green; 25-01-2005, 17:53.

            Comment


            • #7
              \n ist ein Umbruch im Quelltext des HTML Codes welchen du generierst..
              PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

              Comment


              • #8
                Ich hab mir gerad den Rest des Threads angeschaut.

                Am besten wäre es, wenn du uns den Quellcode von send_sql() zeigst. Außerdem ist es nicht empfehlenswert Variablen "verschleiert" zu setzen, wieso gibts du den Wert von $res nicht einfach von der Funktion send_sql() zurück?


                Floriam
                PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

                Comment


                • #9
                  Ich habe diese Art der Funktion aus einem Buch (Data Becker "PHP4 + MySQL") und die arbeiten mit dem Wert "$res". Ich bin immer noch am verstehen, wie das alles funktioniert ...


                  PHP Code:
                  function send_sql($db_name$SQL_code) {
                    if (! 
                  $res=mysql_db_query($db_name$SQL_code)) {
                      echo 
                  mysql_error();
                      exit;
                    }
                    return 
                  $res;

                  Comment


                  • #10
                    Ah!

                    Die Funktion send_sql() gibt als Rückgabewert $res (Das siehst du an "return $res;") zurück, dass heißt aber nicht das du in deinem Script $res benutzen kannst..

                    Den Rückgabewert der Funktion musst du in einer Variable speichern, etwa so:

                    PHP Code:
                    $res send_sql(..); 

                    Eventuell wäre es sinnvoll, wenn du dir das Buch dazu auch durchliest..
                    PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

                    Comment


                    • #11
                      und wofür ist dann der return-Wert?

                      Ich lese das Buch, aber verstehe nicht immer alles auf Anhieb ... außerdem ist das Buch ziemlich dick und da vergisst man dann schonmal die eine oder andere Kleinigkeit

                      Comment


                      • #12
                        JIPIII, geht !!!

                        Danke an alle

                        Comment


                        • #13
                          "return" heisst, dass die Funktion den Wert zurückgiebt. Den Rückgabewert kann man wie einen Text in einer Variable speichern.

                          Den Code dazu hab ich ja schon gepostet.


                          Allgemein muss ich allerdings sagen dass dies zu den Grundlagen gehört, welche nicht ich sondern dein Buch dir vermitteln sollten. Also les nochmal das Thema zu den Funktionen durch..


                          Floriam
                          PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

                          Comment

                          Working...
                          X