Fehlermeldung bei mysql fetch array

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

  • Fehlermeldung bei mysql fetch array

    Hi!!

    Ich bekomme beim ausführen folgender Anweisung immer einen Fehler und weiß nicht warum! Vielleicht hat ja einer nen Anhaltspunkt für mich!?!

    PHP-Code:
    <? 
    while($data=mysql_fetch_array($resultset)){
    ?>
    Fehlermeldung: Supplied argument is not a valid MySQL result resource

    Vielen Dank im Voraus!!!
    EDIT:
    php-tags by TobiaZ
    Zuletzt geändert von TobiaZ; 31.08.2004, 13:01.

  • #2
    deine query liefert kein ergebnis ... mal im phpmyadmin testen
    Kissolino.com

    Kommentar


    • #3
      hängt mal an die Zeile:

      $resultset = mysql_query (...) or die(mysql_error());

      dran. was bekommst du?

      Kommentar


      • #4
        1) PHP-Tags machen auch bei kurzem Code etwas her,
        2) kannst du mir nicht erzählen, dass du mal nach der Fehlermeldung gesucht hättest!

        Kommentar


        • #5
          Auch wenn ich mal

          PHP-Code:
          $resultset mysql_query (...) or die(mysql_error()); 
          dranhänge bekomme ich diesselbe Fehlermeldung.

          Wenn ich aber diesselbe Abfrage im phpMyAdmin funktioniert Sie tadellos!

          Kommentar


          • #6
            dranhänge bekomme ich diesselbe Fehlermeldung.
            dann tritt der fehler an einer anderen stelle auf, als du vermutest ...
            Die Zeit hat ihre Kinder längst gefressen

            Kommentar


            • #7
              poste mal deine abfrage, so wie die datenbank sie bekommt (debug-ausgabe mit echo)

              und dann wäre der code vom mysql_query bis zum mysql_fetch-array interessant
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                Bitte sehr hier ist der Code, wie ihn der MySql Server bekommt:



                PHP-Code:
                if ($betrieb=='01FB')
                {
                //Datensätze gruppiert nach Beraternummer
                $SQL_statement="SELECT (wa.beraternr), (wa.lagerortcode), (wab.beratername),
                COUNT(wa.auftragsnummer) AS anzahl,
                COUNT(wa.extern) AS extern,
                COUNT(wa.intern) AS intern,
                COUNT(wa.gwl) AS gwl,
                REPLACE(wa.lagerortcode, '01FB', '****') AS filiale,
                SUM(wa.fremdleistungen+wa.sonstiges) AS sonstiges,
                SUM(wa.lohnumsatz) AS lohnumsatz,
                SUM(wa.teileumsatz) AS teileumsatz,
                SUM(wa.fremdleistungen+wa.sonstiges+wa.lohnumsatz+wa.teileumsatz) AS gesamtumsatz
                FROM `wa`, wab WHERE 1
                AND wa.beraternr=wab.beraternr  
                AND lagerortcode='
                $betrieb'
                AND auftragsdatum BETWEEN '
                $monat' and '$monat2'GROUP BY beraternr ASC";

                $resultset=mysql_query($SQL_statement);

                Danach folg die Ausgabe mittels mysql_fetch_array!!

                Dazwischen liegt eigentlich nur noch ein Formular das die Variablen der Abfrage mit Werten versogt.

                Nach der Datenausgabe mittels mysql_fetch_array ist noch eine Tabelle die das ganze in vernünftiger optischer Weise ausgibt!!!

                MFG

                Kommentar


                • #9
                  mysql bekommt bestimmt keine abfrage, in der noch $monat drinsteht

                  geb $SQL_statement mal mit echo aus, einfach ein echo vornedran schreiben reicht schon völlig aus

                  und ändere $resultset=mysql_query($SQL_statement); wieder in $resultset=mysql_query($SQL_statement) or die(mysql_error());

                  PHP-Code:
                  if ($betrieb=='01FB')
                  {
                  //Datensätze gruppiert nach Beraternummer
                  echo $SQL_statement="dein SELECT";

                  $resultset=mysql_query($SQL_statement);
                  die(
                  mysql_error());

                  mach das mal so, was kommt raus
                  Zuletzt geändert von mrhappiness; 31.08.2004, 16:15.
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    PHP-Code:
                    FROM `wa`, wab WHERE 1 
                    das verstehe ich bei deinen code nicht,

                    wa und wab sind zwei tabellen? und was where 1?
                    mfg
                    marc75

                    <Platz für anderes>

                    Kommentar


                    • #11
                      Original geschrieben von marc75
                      where 1?
                      where 1 kommt unter garantie zumindest indirekt von phpmyadmin
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        where 1 kommt unter garantie zumindest indirekt von phpmyadmin
                        oder als dummy bei dynamischer zusammensetzung des WHERE-teils ... ohne verwendung von implode ...
                        Die Zeit hat ihre Kinder längst gefressen

                        Kommentar


                        • #13
                          So hier noch einmal die Select Anweisung, genauso wie Sie der Server bekommt , damit es keine Beschwerden gibt:

                          SELECT (wa.beraternr), (wa.lagerortcode), (wab.beratername),
                          COUNT(wa.auftragsnummer) AS anzahl,
                          COUNT(wa.extern) AS extern,
                          COUNT(wa.intern) AS intern,
                          COUNT(wa.gwl) AS gwl, REPLACE(wa.lagerortcode, '01FB', '****') AS filiale, SUM(wa.fremdleistungen+wa.sonstiges) AS sonstiges,
                          SUM(wa.lohnumsatz) AS lohnumsatz,
                          SUM(wa.teileumsatz) AS teileumsatz,
                          SUM(wa.fremdleistungen+wa.sonstiges+wa.lohnumsatz+wa.teileumsatz) AS gesamtumsatz
                          FROM wa, wab
                          WHERE wa.beraternr=wab.beraternr
                          AND lagerortcode='01FB'
                          AND auftragsdatum BETWEEN '2003-01-01' and '2003-08-31'
                          GROUP BY beraternr ASC

                          Kommentar


                          • #14
                            Original geschrieben von mrhappiness
                            PHP-Code:
                            if ($betrieb=='01FB')
                            {
                            //Datensätze gruppiert nach Beraternummer
                            echo $SQL_statement="dein SELECT";

                            $resultset=mysql_query($SQL_statement);
                            die(
                            mysql_error());

                            mach das mal so, was kommt raus
                            mach das doch bitte mal

                            und poste bitte auch die komplette ausgabe
                            Ich denke, also bin ich. - Einige sind trotzdem...

                            Kommentar


                            • #15
                              Original geschrieben von Astra

                              AND lagerortcode='01FB'
                              AND auftragsdatum BETWEEN '2003-01-01' and '2003-08-31'
                              GROUP BY beraternr ASC
                              und wenn du die obigen Spaltennamen um den Tabellennamen noch erweitern (etwa tabelle.spalte), ist denn der Fehler immer noch da?

                              Kommentar

                              Lädt...
                              X