mysql_fetch_array & foreach

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

  • 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?
    Zuletzt geändert von Earl of Green; 25.01.2005, 18:38.

  • #2
    mysql_error

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

    Kommentar


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

      Kommentar


      • #4
        $res beinhaltet die Auswertung der Abfrage

        Kommentar


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

          EDIT :

          Doch, grad erst bemerkt.

          Kommentar


          • #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";
                        } 
            Zuletzt geändert von Earl of Green; 25.01.2005, 18:53.

            Kommentar


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

              Kommentar


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

                Kommentar


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

                  Kommentar


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

                    Kommentar


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

                      Kommentar


                      • #12
                        JIPIII, geht !!!

                        Danke an alle

                        Kommentar


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

                          Kommentar

                          Lädt...
                          X