Micha: Mysql: ORDER BY... was mach ich falsch?

Hallo ihr da draußen....
ich hab mal wieder ein kleines problem:

Ich möchte mit der hilfe von dem mySQL befehl ORDER BY eine Tabellenausgebe sortieren. So ich benutze folgenden code:

//verbindung mit mySQL wurde über externe datei hergestellt

$order="date";

function bootlegs()
    {
    global $link;
    $ergebnis = mysql_query( "select *
                FROM bootlegs ORDER BY ".$order );
                                           ^
                                           |
                                           |
------------------------------------------ +

was stimmt hier nich? ich bekomme folgende fehlermeldung:

Warning: Supplied argument is not a valid MySQL result resource in f:\web\smells-like-nirvana\bootlegs_main.php on line 13

Ich hoffe mir kann jemand helfen

Danke schonmal im vorraus

Micha

  1. Hi!

    Vielleicht solltest Du in der Funktion auch $order noch als

    global $order;

    definieren!?

    Heißt das Feld, nach dem Du sortieren willst "date" oder vielleicht "DATE". Sowas (Groß-/Kleinschreibung) kann auch dafür verantwortlich sein.

    Grüße aus Benztown

    Flo

    There are only 10 types of people: Those who understand binaries and those who don't...

    1. So ich habs nu so:

      global $order;
      $order="date";

      function bootlegs($order)
          {
          global $link;
          $ergebnis = mysql_query( "select *
                      FROM bootlegs ORDER BY ".$order );

      ....

      und rufe alles dann so auf:

      <?php bootlegs($order) ?>

      geht aber immer noch nich (es kommt aber keine fehlermeldung mehr)

      gruß micha

      1. Hi!

        Mit global meinte ich eher innerhalb der Funktion. Mit $link machst Du das ja auch...

        function bootlegs() {
          global $link;
          gloabl $order;
          [...]
        }

        Grüße

        Flo

        1. Hi!

          Hi Flo

          Problem is gelöst!

          Thx

          Grüße

          Flo

          Grüsse Micha

        2. Hi,

          Mit global meinte ich eher innerhalb der Funktion.

          warum willst Du dem absolut sinnvollen Konzept der lokalen Scopes aktiv entgegenwirken? Wenn in einer Funktion Variablen verwendet werden sollen, dann übergib diese.

          Cheatah

          1. Hi Cheatah!

            So dachte ich ja auch, bis ich einmal eine Funktion hatte, an die ich ca. 20 Variablen übergeben musste. Da wars mir dann doch lieber einmal in der Funktion global $var zu schreiben, als im nachfolgenden Skript die Funktion jedesmal mit 20 Parametern zu übergeben...
            Danach gewöhnt man sich an sowas...

            Grüße

            Flo

            1. Hi,

              So dachte ich ja auch, bis ich einmal eine Funktion hatte, an die ich ca. 20 Variablen übergeben musste.

              da diese Variablen vermutlich zumindest in Teilen sinnverwand sein dürften, ist es zu überlegen, diese in einem assoziativen Array zu speichern.

              Danach gewöhnt man sich an sowas...

              Das darf nicht passieren. Man muss sich der Vor- und Nachteile einer jeden Aktion bewusst sein.

              Cheatah

  2. $order="date";

    function bootlegs()
        {
        global $link;
        $ergebnis = mysql_query( "select *
                    FROM bootlegs ORDER BY ".$order );

    Kleiner Tipp:
    Wie aussieht verwendest PHP. verusch mal die $order Variable im functionskopf zu übergeben *ggg*

    function bootlegs($order)

    und aufrufen tust as sie nacha

    bootlegs($order);

    in PHP gibts keine globale Variablen-Deffinition, d.h. du musst eine Variable immer übergeben um sie in einer Funktion zu verwenden.

    mfg
    DMIII

    1. Hi DMIII!

      Wenn es keine globalen Variablen gibt, wie würdest Du dann folgendes interpretieren?

      function Funktionsname() {
       global $var;
      }

      und was sagst Du dann dazu:

      http://php3.de/manual/de/migration4.variables.php

      Grüße

      Flo

      1. Hi,

        Wenn es keine globalen Variablen gibt,

        das hat er nie gesagt; sondern nur, dass es keine globale Variablen-Definition gibt - und das stimmt. Variablen werden nämlich nicht definiert, sondern deklariert ;-)))

        Cheatah, SCNR