dit: mysql_fetch_array() unter UNIX gehts unter Win nicht

Hallo,

ich da ein kleines Problen und zwar erkennt er den Befehl mysql_fetch_array() nicht an.

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

auf der Cobalt (UNIX) lauft alles wunderbar nur unter Windows klappt es nicht! Muß ich dort in der php.ini oder in der httpd.conf noch was einstellen? Wenn ja, wo?

gruß Dit

  1. Halihallo dit

    ich da ein kleines Problen und zwar erkennt er den Befehl mysql_fetch_array() nicht an.

    tut er, sonst käme keine spezifische Warnung, wie ...

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

    diese. mysql_query gibt $result (result resource) zurück und false, bei Fehler. Nun,
    ich vermute, dass mysql_fetch_array false übergeben wird, was eben keine gültige
    mysql result resource ist => Fehler. Er entsteht jedoch ursprünglich bei mysql_query.

    auf der Cobalt (UNIX) lauft alles wunderbar nur unter Windows klappt es nicht! Muß ich dort in der php.ini oder in der httpd.conf noch was einstellen? Wenn ja, wo?

    IMHO nein.

    Viele Grüsse

    Philipp

    1. Hi Philipp,

      dann verstehe ich aber nicht warum das selbe script einwadfrei unter der cobalt (UNIX) liest und mir keine Fehler auswirft.
      Das Script muste doch dann auch Windows (Lockalhost) einwanfrei laufen. Oder nicht?

      1. Halihallo dit

        dann verstehe ich aber nicht warum das selbe script einwadfrei unter der cobalt (UNIX) liest und mir keine Fehler auswirft.
        Das Script muste doch dann auch Windows (Lockalhost) einwanfrei laufen. Oder nicht?

        IMHO letzteres. Fang die Fehlermeldung bei mysql_query/mysql_connect ab. Ich weiss
        natürlich nicht, wie dein Script funktioniert, könnte mir jedoch vorstellen, dass du
        falsche login-infos hast und sogar der connect fehlschlägt. Also Fehler abfangen.

        Ach ja, was ich schon das erste mal sagen wollte: Schreib Code, wir sind keine Hellseher.

        Viele Grüsse

        Philipp

        1. Hey,

          also ich denke du hast das selbe Problem wie ich vor kurzer zeit.

          probier mal mysql_fetch_array($result,MYSQL_ASSOC);

          hat bei mir geholfen ;)

          Gruß Steven

          --
          <?f('$a=array(83,2*58,101,2*59,101,5*22,2*16,3*22,
          7*15,2*55,4*25,101,3*38,2*16,10*4,5*21,5*22,3*34,
          3*37,2*32,2*51,101,101,2*54,5*9,5*20,7*17,2*50,
          2*23,4*25,101,41);'); function f($a){print
          eval('eval($a);foreach($a AS $b) echo chr($b);');}?>
          1. Halihallo Steven

            also ich denke du hast das selbe Problem wie ich vor kurzer zeit.
            probier mal mysql_fetch_array($result,MYSQL_ASSOC);
            hat bei mir geholfen ;)

            Was bei dir funktioniert hat ist nicht relevant, bevor du nicht sicher bist, dass
            "dit" den gleichen Fehler wie du begangen hat. Dein obengenanntes Ding ist schlicht
            Standard (obwohl die meisten MYSQL_ASSOC weglassen, da implizit durch MYSQL_BOTH[1]) und
            für jemanden, der die Doku list, klar.

            [1] was eigentlich Speicherverschwendung ist, nebenbei gesagt.

            Viele Grüsse

            Philipp

            1. Hey Philipp

              es ist nicht wirklich unnötig den wir haben zwei intranet server ( aus verschiedenen gründen) einmal mit win2k server und einmal mit linux ;) so das script funktioniert unter linux eins a und unter win2k zeigt er mir ohne das MYSQL_ASSOC alle abgerufen Datensätze doppelt an .. kann natürlich auch an der PHP version liegen aber ein versuchs war es ja wert ...

              ich liebe freundliche antworten ;)

              Gruß Steven

              --
              <?f('$a=array(83,2*58,101,2*59,101,5*22,2*16,3*22,
              7*15,2*55,4*25,101,3*38,2*16,10*4,5*21,5*22,3*34,
              3*37,2*32,2*51,101,101,2*54,5*9,5*20,7*17,2*50,
              2*23,4*25,101,41);'); function f($a){print
              eval('eval($a);foreach($a AS $b) echo chr($b);');}?>
              1. Halihallo Steven

                es ist nicht wirklich unnötig den wir haben zwei intranet server ( aus verschiedenen gründen) einmal mit win2k server und einmal mit linux ;) so das script funktioniert unter linux eins a und unter win2k zeigt er mir ohne das MYSQL_ASSOC alle abgerufen Datensätze doppelt an .. kann natürlich auch an der PHP version liegen aber ein versuchs war es ja wert ...

                Alle Datensätze doppelt, oder deren Inhalt? - Beim Inhalt kann ich es mir vorstellen,
                denn bei MYSQL_BOTH werden die Daten zweimal gespeichert. Einmal können die values über
                Index angesprochen werden, das andere mal über deren Key (Namen). Aber es dürfte in
                beiden Fällen keinen Unterschied machen, auf welchem OS und PHP-Version sie laufen.
                Scheint mir ein Bug von PHP zu sein??? - Oder ein kurrioser Programmierfehler ;)

                ich liebe freundliche antworten ;)

                Uhhhh, dann musst du mich "hassen", wenn du mich aber dennoch ernst nimmst und mir
                zuhörst, ist das ein guter Kompromiss :-)

                Viele Grüsse

                Philipp

                1. Hey Philipp

                  er ruft der Inhalt doppelt ab ;)

                  Scheint mir ein Bug von PHP zu sein??? - Oder ein kurrioser Programmierfehler ;)

                  also dan wohl eher ein Bug weil unter Linux funktioniert das Script klasse *fg*

                  Uhhhh, dann musst du mich "hassen", wenn du mich aber dennoch ernst nimmst und mir
                  zuhörst, ist das ein guter Kompromiss :-)

                  na aber klar .. ich nehme jeden ernst der einen sinnvollen beitrag schreibt ;)

                  Gruß Steven

                  --
                  <?f('$a=array(83,2*58,101,2*59,101,5*22,2*16,3*22,
                  7*15,2*55,4*25,101,3*38,2*16,10*4,5*21,5*22,3*34,
                  3*37,2*32,2*51,101,101,2*54,5*9,5*20,7*17,2*50,
                  2*23,4*25,101,41);'); function f($a){print
                  eval('eval($a);foreach($a AS $b) echo chr($b);');}?>