Michael Wölk: $result ect.

Hallo,

Also das ist jetzt doch ein wenig unklar:

Wie ist das, wenn ich eine DB auslese dann habe ich doch so zeilen wie $link = mysql_connect($host, $user, $pass);
oder $result = mysql_query("SELECT * FROM $table");. Die bezwecken im grunde doch nichts oder - erst in verbinmdung mit den anderen zeilen haben sie sinn oder wie ist das.

ich komm da jetzt drauf weil bei mir das sortieren nicht funktioniert:

$sort = "select a,b from $table order by a asc, b asc";
mysql_query($sort);

aus dem kann man ja jetzt auch den machen:

mysql_query("select a,b from $table order by a asc, b asc");

und der bezweckt nix.

wieso?

Danke
Michael Wölk

  1. Hallo Michael

    mysql_query("select a,b from $table order by a asc, b asc");

    Nuja, er hier schickt die Abfrage an die Datenbank, die macht dann. Und dann gibt er Dir ne Nummer wie beim Amt, und mit der Nummer kannst Dir dann Deine Ergebnisse abholen.

    Lies Dir mal eines der vielen Tutorials zum PHP/mySQL durch, da fehlt Grundlagenwissen!

    Gruss, Thoralf

    --
    Sic Luceat Lux!
  2. Wie ist das, wenn ich eine DB auslese dann habe ich doch so zeilen wie $link = mysql_connect($host, $user, $pass);
    oder $result = mysql_query("SELECT * FROM $table");. Die bezwecken im grunde doch nichts oder - erst in verbinmdung mit den anderen zeilen haben sie sinn oder wie ist das.

    Meinst Du nicht, daß wenn Du mit jemandem telefonisch kommunizieren möchtest, ihn erstmal anrufen mußt?

    $sort = "select a,b from $table order by a asc, b asc";
    mysql_query($sort);

    aus dem kann man ja jetzt auch den machen:

    mysql_query("select a,b from $table order by a asc, b asc");

    und der bezweckt nix.

    Ja, und? Wenn Du ein Auto kaufst und es nicht abholst, ist das doch auch Dein Problem, egal ob Du es per Brief oder persönlich bestellt hast.

    Einer von uns beiden steht hier mächtig auf dem Schlauch.. :>

    Gruß,
      soenk.e

  3. Hi!

    Wie ist das, wenn ich eine DB auslese dann habe ich doch so zeilen wie $link = mysql_connect($host, $user, $pass);
    oder $result = mysql_query("SELECT * FROM $table");. Die bezwecken im grunde doch nichts oder - erst in verbinmdung mit den anderen zeilen haben sie sinn oder wie ist das.

    Jede dieser Zeilen bezweckt etwas, und ohne eine dieser Zeilen wird keine Datenbank-Abfrage funktionieren.

    Was mysql_connect macht steht hier: http://de3.php.net/manual/de/function.mysql-connect.php

    für mysql_query hier: http://de3.php.net/manual/de/function.mysql-query.php

    ich komm da jetzt drauf weil bei mir das sortieren nicht funktioniert:

    Das Sortieren über ORDER BY hat im Prinzip nichts mit den PHP-Funktionen zu tun, das ist auf einer höheren Abstraktionsebene: SQL.

    $sort = "select a,b from $table order by a asc, b asc";
    mysql_query($sort);

    aus dem kann man ja jetzt auch den machen:

    mysql_query("select a,b from $table order by a asc, b asc");

    und der bezweckt nix.

    Was heißt "bezweckt nichts"? Was passiert(nicht)? Sicher bezweckt das was, und zwar wird so eine Query an die DB geschickt - falls eine Verbindung besteht, und das Ergebnis in eine Recource geschrieben.
    Besteht eine Verbindung? Ist eine Datenbank ausgewählt?
    Was sagt Dir mysql_error()?

    wieso?

    Bedenke dass mit mysql_query nur eine Abfrage an die Datenbank geschickt wird, und das Ergebnis zurückgegeben wird - welches Du Dir mit PHP aber dann auch manuell "holen" musst, und zwar am besten mit mysql_fetch_array() http://de3.php.net/manual/de/function.mysql-fetch-array.php.

    Siehe auch:

    http://php-faq.de/q/q-mysql-zugriff.html

    Grüße
    Andreas

    1. Jede dieser Zeilen bezweckt etwas, und ohne eine dieser Zeilen wird keine Datenbank-Abfrage funktionieren.

      oh mann das war mir auch klar!
      es ging mir mehr oder weniger was die zeile im einzeln macht. da es ja eine variablen definition ist.

      wenn ich das ganze jetzt so schreibe
      $sort = mysql_query("select a,b from $table order by a asc, b asc");

      macht das dann was oder wird nur irgendwas in die variable $sort geschrieben?

      Was heißt "bezweckt nichts"?

      bezweckt nichts heisst: es hat sich nichts verändert; es wurde nicht sortiert.

      Besteht eine Verbindung? Ist eine Datenbank ausgewählt?
      Was sagt Dir mysql_error()?

      na klar besteht die verbindung schließlich bekomme ich eine ausgabe und einen fehler bekomme ich nicht!

      MfG
      Michael Wölk

      1. Hi!

        oh mann das war mir auch klar!

        Was man nicht wirklich merkte...

        es ging mir mehr oder weniger was die zeile im einzeln macht. da es ja eine variablen definition ist.

        Eine Variablen-Definition? Das ist eien Funktien die eien Recource als Rückgabewert hat, was genau das ist und was man damit macht liest Du bitte im Manual nach:
        gibt recource zurück:  http://www.php3.de/manual/de/function.mysql-query.php
        was ist eine recource: http://www.php3.de/manual/de/language.types.resource.php
        greift auf die recource zu: http://www.php3.de/manual/de/function.mysql-fetch-array.php

        Hier wird Dir niemand das erklären was Du Dir auch mal eben im Manual durchlesen könntest.

        wenn ich das ganze jetzt so schreibe
        $sort = mysql_query("select a,b from $table order by a asc, b asc");

        macht das dann was oder wird nur irgendwas in die variable $sort geschrieben?

        Ja, eine Recourcen-ID. Benutze var_dump() und *RTFM*

        Was heißt "bezweckt nichts"?

        bezweckt nichts heisst: es hat sich nichts verändert; es wurde nicht sortiert.

        Mit SQL kann man nicht Datensätze in der Tabelle sortieren, Du kannst nur die Ausgabe der Datensätze sortieren. In der Tabelle ändert sich aber nichts, nur in der Reihenfolge der an PHP zurückgegebenen Datensätze.

        Lies den Artikel von PHP-FAQ.de den ich gerade gepostet habe.

        Andreas

  4. Hallo Michael!

    Siehe dazu meinen Eintrag in Deinem vorigen Thread:

    [pref:t=45016&m=245667]

    mfg

    norbert =:-)