Ingo80: url aus datenbank auslesen

Hi,

ich habe in einer datenbak eine url für eine Grafik eingetragen und möchte diese nun mit php auslesen, um sie dann in der webseite an der richtigen Stelle anzeigen zu lassen. Das möchte ich so machen, da das ganze mit sessions arbeiten soll. (User soll halt individuell ein bild angezeigt bekommen). Bislang habe ich folgenden Code zusammen:

  
<?php  
  
$anfrage = ("SELECT bild FROM skins WHERE skin = '1'");  
$ergebnis = mysql_query($anfrage);  

den letzten teil bekomme ich aber nicht zusammen. beschäftige mich noch nicht so lange mit dem thema und fürchte, dass ich auf eure hilfe angewiesen bin.

Gruß
Ingo

  1. Hi,

    den letzten teil bekomme ich aber nicht zusammen.

    Dann lies bitte ein Tutorial, dass dir diese Grundlagen erklärt.

    Bspw. http://tut.php-quake.net/de/mysql-php.html

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Hi,

      den letzten teil bekomme ich aber nicht zusammen.

      Dann lies bitte ein Tutorial, dass dir diese Grundlagen erklärt.

      Bspw. http://tut.php-quake.net/de/mysql-php.html

      MfG ChrisB

      Hi,

      da hatte ich schon reingeschaut, aber irgendwie habe ich das noch nicht ganz verstanden. Wenn ich es so mache wie es da steht, dann sieht das ungefähr so aus bei mir:

        
      <?php  
        
      $anfrage = ("SELECT bild FROM skins WHERE skin = '1'");  
      $ergebnis = mysql_query($anfrage);  
      echo $ergebnis;  
      ?>  
      
      

      und wirft folgenden fehler: Fatal error: Call to a member function query() on a non-object

      Okay, wenn ich das erstmal geschafft habe, stehe ich wahrscheinlich noch vor dem Problem das ich rausfinden muss, wie ich das ganze dann noch mit den session-daten verbinden kann (um auch für den jeweiligen user die richtige auswahl zu treffen) aber das soweit schon mal zusammen zu kriegen wäre ja schon mal der anfang.

      Gruß
      Ingo

      1. Hi,

        den letzten teil bekomme ich aber nicht zusammen.

        Dann lies bitte ein Tutorial, dass dir diese Grundlagen erklärt.

        Bspw. http://tut.php-quake.net/de/mysql-php.html

        MfG ChrisB

        Hi,

        da hatte ich schon reingeschaut, aber irgendwie habe ich das noch nicht ganz verstanden. Wenn ich es so mache wie es da steht, dann sieht das ungefähr so aus bei mir:

        <?php

        $anfrage = ("SELECT bild FROM skins WHERE skin = '1'");
        $ergebnis = mysql_query($anfrage);
        echo $ergebnis;
        ?>

        
        >   
        > und wirft folgenden fehler: Fatal error: Call to a member function query() on a non-object  
        >   
        > Okay, wenn ich das erstmal geschafft habe, stehe ich wahrscheinlich noch vor dem Problem das ich rausfinden muss, wie ich das ganze dann noch mit den session-daten verbinden kann (um auch für den jeweiligen user die richtige auswahl zu treffen) aber das soweit schon mal zusammen zu kriegen wäre ja schon mal der anfang.  
        >   
        > Gruß  
        > Ingo  
          
        oder ich mache es so:  
          
        ~~~php
          
          
        <?php  
          
        $anfrage = ("SELECT bild FROM skins WHERE skin = '1'");  
        $ergebnis = mysql_query($anfrage);  
        while($row = mysql_fetch_object($ergebnis))  
        {  
        echo$ergebnis['bild'];  
        }  
        
        

        und erhalte daraufhin weder ausgabe, noch fehlermeldung.

        1. Hi,

          den letzten teil bekomme ich aber nicht zusammen.

          Dann lies bitte ein Tutorial, dass dir diese Grundlagen erklärt.

          Bspw. http://tut.php-quake.net/de/mysql-php.html

          MfG ChrisB

          Hi,

          da hatte ich schon reingeschaut, aber irgendwie habe ich das noch nicht ganz verstanden. Wenn ich es so mache wie es da steht, dann sieht das ungefähr so aus bei mir:

          <?php

          $anfrage = ("SELECT bild FROM skins WHERE skin = '1'");
          $ergebnis = mysql_query($anfrage);
          echo $ergebnis;
          ?>

          
          > >   
          > > und wirft folgenden fehler: Fatal error: Call to a member function query() on a non-object  
          > >   
          > > Okay, wenn ich das erstmal geschafft habe, stehe ich wahrscheinlich noch vor dem Problem das ich rausfinden muss, wie ich das ganze dann noch mit den session-daten verbinden kann (um auch für den jeweiligen user die richtige auswahl zu treffen) aber das soweit schon mal zusammen zu kriegen wäre ja schon mal der anfang.  
          > >   
          > > Gruß  
          > > Ingo  
          >   
          > oder ich mache es so:  
          >   
          > ~~~php
            
          
          >   
          > <?php  
          >   
          > $anfrage = ("SELECT bild FROM skins WHERE skin = '1'");  
          > $ergebnis = mysql_query($anfrage);  
          > while($row = mysql_fetch_object($ergebnis))  
          > {  
          > echo$ergebnis['bild'];  
          > }  
          > 
          
          

          Okay, ich habs:

            
            
          <?php  
            
          $anfrage = ("SELECT bild FROM skins WHERE skin = '1'");  
          $ergebnis = mysql_query($anfrage);  
          while($row = mysql_fetch_object($ergebnis))  
          {  
          echo $row->bild;  
          }  
          
          

          danke. :)

        2. hallo Ingo80,

          bitte lass nicht komplette Beiträge vom Vorgänger stehen.

          <?php

          $anfrage = ("SELECT bild FROM skins WHERE skin = '1'");

            
          wozu die Klammern?  
            
          
          > ~~~php
          
          $ergebnis = mysql_query($anfrage);  
          
          > while($row = mysql_fetch_object($ergebnis))  
          > {  
          > echo$ergebnis['bild'];  
          > }  
          > 
          
          

          und erhalte daraufhin weder ausgabe, noch fehlermeldung.

          weil du eine kleine Kleinigkeit verdreht und einen Syntax-Fehler gemacht hast.
          Du schreibst in der while-Schleife, das $row ein Objekt mit den Treffern aus $ergebnis ist.
          Also musst du auf $row zugreifen.
          Da $row wie eben geschrieben auch noch ein Objekt (mysql_fetch_object()) und kein Array (mysql_fetch_array()) ist, musst du mit Pfeil (->) auf die 'Elemente' zugreifen und nicht mit eckigen Klammern.

          in Kurzform siehts also so aus:

          $sql = mysql_query('SELECT bild FROM [...]');  
          while($row = mysql_fetch_object($sql)){  
            echo $row->bild;  
          }
          

          grüße,
          henman

          --
          "Sir! We are surrounded!" - "Excellent! We can attack in any direction!"
          sh:( fo:| ch:? rl:° br:> n4:? ie:% mo:) va:| de:] zu:) fl:{ ss:| ls:[ js:|
          1. hallo Ingo80,

            bitte lass nicht komplette Beiträge vom Vorgänger stehen.

            <?php

            $anfrage = ("SELECT bild FROM skins WHERE skin = '1'");

            
            >   
            > wozu die Klammern?  
            >   
            > > ~~~php
            
            $ergebnis = mysql_query($anfrage);  
            
            > > while($row = mysql_fetch_object($ergebnis))  
            > > {  
            > > echo$ergebnis['bild'];  
            > > }  
            > > 
            
            

            und erhalte daraufhin weder ausgabe, noch fehlermeldung.

            weil du eine kleine Kleinigkeit verdreht und einen Syntax-Fehler gemacht hast.
            Du schreibst in der while-Schleife, das $row ein Objekt mit den Treffern aus $ergebnis ist.
            Also musst du auf $row zugreifen.
            Da $row wie eben geschrieben auch noch ein Objekt (mysql_fetch_object()) und kein Array (mysql_fetch_array()) ist, musst du mit Pfeil (->) auf die 'Elemente' zugreifen und nicht mit eckigen Klammern.

            in Kurzform siehts also so aus:

            $sql = mysql_query('SELECT bild FROM [...]');

            while($row = mysql_fetch_object($sql)){
              echo $row->bild;
            }

            
            >   
            > grüße,  
            > henman  
              
            Hi henman,  
              
            danke für die antwort, habe noch ne frage:  
              
            wenn ich da wo ich stehen habe  
              
            SELECT bild FROM skins WHERE skin = '1'  
              
            anstatt der 1 ein $\_SESSION['skin'] rein mache, also  
              
            WHRE skin = '$\_SESSION['skin']'  
              
            dann sollte das doch eigentlich der richtige ansatz sein, um die abfrage von der session steuern zu lassen, oder? das klappt aber auch wieder nicht, die kommplette zeile schaut so aus:  
              
            ~~~php
              
            $anfrage = ("SELECT bild FROM skins WHERE skin = '$_SESSION['skin']'");  
            
            

            hättest du da vielleicht noch einen tipp für mich?

            Danke nochmal!

            Gruß
            Ingo

            1. Verflixt,

              bitte lass nicht komplette Beiträge vom Vorgänger stehen.

              Könntest du das jetzt bitte ab sofort berücksichtigen?

              $anfrage = ("SELECT bild FROM skins WHERE skin = '$_SESSION['skin']'");

              
              >   
              > hättest du da vielleicht noch einen tipp für mich?  
                
              Tipp #1: Stelle das error\_reporting auf E\_ALL und display\_errors auf 1, damit PHP dich auf Fehler hinweisen kann. (\*Informiere\* dich bitte, wenn du nicht weißt, was das bedeutet!)  
                
              Tipp #2: Lerne Grundlagen.  
              Was diesen Fehler angeht, lies dir bitte insb. <http://www.php.net/manual/en/language.types.string.php> und <http://www.php.net/manual/en/language.types.array.php> aufmerksam durch.  
                
              MfG ChrisB  
                
              
              -- 
              RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
              
            2. hallo Ingo80,

              bitte lass nicht komplette Beiträge vom Vorgänger stehen.

              wie auch ChrisB schon wiederholte, bitte lösche den bestehenden Beitrag aus dem Textfeld bzw. lasse nur direkt relevantes stehen, bevor du antwortest.

              das klappt aber auch wieder nicht, die kommplette zeile schaut so aus:

              $anfrage = ("SELECT bild FROM skins WHERE skin = '$_SESSION['skin']'");

                
              was ist mit error\_reporting? hast du keine Fehlermeldung bekommen?  
                
              Folge [den Tips und Links von ChrisB](https://forum.selfhtml.org/?t=200014&m=1347300).  
                
              Der [Verkettungsoperator](http://tut.php-q.net/de/concat.html) sollte dich zusätzlich auf die richtige Spur bringen.  
                
                
                
                
              grüße,  
              henman
              
              -- 
              "Sir! We are surrounded!" - "Excellent! We can attack in any direction!"  
              sh:( fo:| ch:? rl:° br:> n4:? ie:% mo:) va:| de:] zu:) fl:{ ss:| ls:[ js:|