armin: URL auslesen

Hallo,
ich möchte ein url wie z.b. localhost/para.php?nr=9 in php auslesen und mit dem Wert aus nr, in diesem Fall 9, mit mysql einen Satz aus der Datenbank lesen. Wer kann mir eine Tip geben ?! Danke.

  1. Den Wert 9 bekommst in PHP mit $_GET['nr'];

    Und zum auslesen aus MySQL musst du eine Verbindung zu Datenbank aufnehmen und eine MySQL abfrage senden, dazu googlest du am besten mal und lernst etwas MySQL mit PHP ^^

    1. Den Wert 9 bekommst in PHP mit $_GET['nr'];

      Und zum auslesen aus MySQL musst du eine Verbindung zu Datenbank aufnehmen und eine MySQL abfrage senden, dazu googlest du am besten mal und lernst etwas MySQL mit PHP ^^

      Danke Dir.
      Wenn ich diesen Befehl $_GET['nr'] nehme in welcher Variablen habe ich dann den Wert z.B. 9 und wie verwende ich ihn dann z.b. als key zu meiner Datenbank?
      Danke für Deine Hilfe.

      1. Naja $_GET['nr'] ist der wert.

        Wenn du es dir anzeigen lassen willst, könntest du das machen:
        <?
        echo $_GET['nr'];
        ?>

        Und bei einer Abfrage das da (nur ein Beispiel):
        <?
        $sql = "SELECT 'daten' FROM 'Tabelle' WHERE 'index' = '".$_GET['nr']."'";
        ?>

        Dann wäre der Wert 9 enthalten, aber die SQL Abfrage musst du natürlich nach deinen wünschen anpassen und noch zu datenbank senden und sowas.

        Bei Google findest du mehr zu dem Thema, such einfach nach MySQL und PHP oder nach Tutorials dazu.

        Gruß,
        FeGm

        1. Und bei einer Abfrage das da (nur ein Beispiel):
          <?
          $sql = "SELECT 'daten' FROM 'Tabelle' WHERE 'index' = '".$_GET['nr']."'";
          ?>

          Davon mal abgesehen, dass dieses Statement entweder die gesamte Tabelle (?nr=index) oder gar nichts (alle Aufrufvarianten, bei denen der nr-Parameter nicht "index" ist) liefert, ist es wieder einmal ein Lehrbuchbeispiel für SQL injection. Was passiert nach Behebung des o.g. Fehlers bei ?nr=9'%20or%20'x'='x ?

          Die DB-Anbindung in PHP ist leider alles andere als optimal, hier muß der Coder entweder explizit die Parameter prüfen oder explizit escapen, am besten beides. Siehe Dokumentation. (Andere DB-Anbindungen, z.B. Perls DBI, nehmen dem Coder das explizite Quoting schon einmal ab -- eine Fehlerquelle weniger, nebenbei ist das bei wiederholter Ausführung auch noch deutlich schneller.)

          Alexander

          1. echo $begrüßung;

            Die DB-Anbindung in PHP ist leider alles andere als optimal, hier muß der Coder entweder explizit die Parameter prüfen oder explizit escapen, am besten beides.

            Diese Aussage stimmt nicht, da sie zu pauschal ist. Es gibt durchaus in PHP DB-Schnittstellen, die dieses Thema besser gelöst haben als die uralte mysql-Functions-Schnittstelle, als da wären: mysqli und PDO. Beides Bestandteil aktueller PHP5-Ausgaben.

            Siehe Dokumentation.

            Ebenda. Man sollte sich nur nicht von der deutschen Übersetzung der mysqli-Dokumentation irreleiten lassen, die diese Erweiterung fälschlicherweise immer noch als experimentell bezeichnet.

            echo "$verabschiedung $name";