Simples Problem mit Ausgabe von Feld

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Simples Problem mit Ausgabe von Feld

    Hallo liebe php Community..

    ich habe ein simples Problem mit der Ausgabe eines Feldes in meinem Datensatz.. zuerst einmal die Angaben:

    Tabellenname: "cms"
    Felder: 2

    Feld1: id
    Feld2: inhalt

    Ich möchte nun dass mir der Inhalt des Feldes "inhalt" ganz einfach ausgegeben wird.. ich hab bisher in PHP und mySql doch schon einiges bewältigt für meine Verhältnisse, aber an diesem simplen vorhaben scheiterts nun..

    hier ist mein code:


    PHP-Code:
    <?
    $mysql_user = 'raus editiert';
    $mysql_pw   = 'raus editiert';
    $mysql_host = 'raus editiert';
    $mysql_db   = 'raus editiert';
    $abfrage = "SELECT inhalt FROM cms";
    $ergebnis = mysql_query($abfrage);

    if(mysql_connect($mysql_host, $mysql_user, $mysql_pw))
    {
        echo "Es wurde erfolgreich zur Datenbank verbunden <br>";
    }
    else
    {
        echo "Fehler bei der Verbindung <br>";
    }
        
    if(mysql_select_db($mysql_db))
    {
        echo "Es wurde erfolgreich zu $mysql_db verbunden <br>";
    }
    else
    {
        echo "Fehler bei der Verbindung zu $mysql_db <br>";
    }

    if($ergebnis)
    {
        echo "Abfrage erfolgreich";
    }
    else
    {
         echo "Fehler: " . mysql_error();
    }

    echo "$ergebnis";
    ?>

    Das Problem scheint an folgender Zeile zu liegen:

    PHP-Code:
    $ergebnis mysql_query($abfrage); 

    ich habe es mit 2 Möglichkeiten probiert:

    1:
    PHP-Code:
    $ergebnis mysql_query($abfrage); 
    2:
    PHP-Code:
    $ergebnis "mysql_query($abfrage)"
    leider funktionieren beide nicht..
    Bei Möglichkeit 1 bringt er folgende Meldung:

    Warning: mysql_query(): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /home/www/greenlemon.cogia.net/seite3.php on line 15
    Line 15 ist in diesem falle
    PHP-Code:
    $ergebnis mysql_query($abfrage); 
    Wenn ich es nun mit 2:
    PHP-Code:
    $ergebnis "mysql_query($abfrage)"
    probiere bekomme ich als echo aber nur ein
    mysql_query($abfrage)
    zurück, und nicht den Inhalt des Feldes..




    vielleicht steh ich auch nur grad aufm schlauch, denn ich denke das sollte echt kein Problem darstellen nen einfachen Inhalt auszugeben..

    wer sich das ganze übrigens mal anschauen will:

    http://greenlemon.cogia.net/seite3.php



    Vielen Dank schonmal im vorraus...


    mfg

  • #2
    du kannst die abfrage erst ausführen, nachdem du verbunden bist und eine db ausgewählt hast.
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      Nunja, aber wenn man sich den Quellcode mal ansieht ist das doch der Fall oder nicht?

      PHP-Code:
      <?
      $mysql_user = 'raus editiert';
      $mysql_pw   = 'raus editiert';
      $mysql_host = 'raus editiert';
      $mysql_db   = 'raus editiert';
      $abfrage = "SELECT inhalt FROM cms";
      $ergebnis = mysql_query($abfrage);

      if(mysql_connect($mysql_host, $mysql_user, $mysql_pw))
      {
          echo "Es wurde erfolgreich zur Datenbank verbunden <br>";
      }
      else
      {
          echo "Fehler bei der Verbindung <br>";
      }
          
      if(mysql_select_db($mysql_db))
      {
          echo "Es wurde erfolgreich zu $mysql_db verbunden <br>";
      }
      else
      {
          echo "Fehler bei der Verbindung zu $mysql_db <br>";
      }

      if($ergebnis)
      {
          echo "Abfrage erfolgreich";
      }
      else
      {
           echo "Fehler: " . mysql_error();
      }

      echo "$ergebnis";
      ?>

      Kommentar


      • #4
        Original geschrieben von Greenlemon
        Nunja, aber wenn man sich den Quellcode mal ansieht ist das doch der Fall oder nicht?
        nein. erst connecten, selecten und dann, wenn alles geklappt hat, dann fragen (=query)

        btw: deine if/else sind sinnfrei. benutze besser
        PHP-Code:
        mysql_*IRGENDWAS*()  or die(mysql_error()); 
        Kissolino.com

        Kommentar


        • #5
          ehrlich gesagt, nö...

          Pointer to callback functions gibt's bei php zwar auch (wobei die sich so auch nicht aufrufen lassen), aber mysql_query() ist 'ne stink normale funktion die ausgeführt wird, wenn man sie aufruft.

          Und das tust du in Zeile 6 (ohne den PHP_OPEN Tag zu zählen)

          Die Verbindung zur DB stellst du erst in Zeile 8 her.

          Wenn du's aber unbedingt so machen willst, dann setz den Funktionsaufruf in einen String und lass den dann mittels eval() auswerten.

          Ist zwar relativ Sinnbefreit, imho, aber könnte klappen.

          Kommentar


          • #6
            Aber in den ersten 6 Zeilen werden die Befehle doch lediglich als Variable gespeichert.. aufrufen tu ich sie doch erst später O.o

            ich bin ziemlich neu was php und mysql angeht, und hab mich an verschiedenen Seiten orientiert, u.A

            http://www.schattenbaum.net/php/abfrage.php

            is letzendlich nichts anderes was ich gemacht habe.. darum kann ichs noch nciht ganz nachvollziehen.. hat einer ein beispiel wie es funktionieren würde?

            bisher haben alle befehle geklappt, mit hinzufügen/überschreiben etc, und das auf die gleiche art und weise... nur beim auslesen gibt es jetzt diese probleme


            mfg

            Kommentar


            • #7
              Schau dir einfach mal die letzte Seite bei Schattenbaum an:
              close
              Dann müsstest du sehen, was bei dir falsch ist.

              Kommentar


              • #8
                in zeile 6 rufst du eine funktion auf und speicherst das Ergebnis der funktion in einer variablen.

                ruf die fkt. nach connect und nach select_db auf und alles wird gut.

                EDIT:
                btw. mach das am besten auch bei den anderen Queries die du ausführst. Wenn die nämlich in dem stil funzen ist das glücksache.

                Kommentar


                • #9
                  aaah, das könnte es natürlich sein, daran hab ich bisher gar nicht gedacht.. ich werds morgen ausprobieren, danke schonmal für den tip


                  mfg

                  Kommentar

                  Lädt...
                  X