1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

MySQL Abfragen Problem

Dieses Thema im Forum "PHP & Co." wurde erstellt von Bissy, 13.09.09.

  1. Bissy

    Bissy Johannes Böttner

    Dabei seit:
    03.02.07
    Beiträge:
    1.159
    Hi,

    mein PHP Skript ausgeführt auf meinem Webserver sieht so aus:

    Code:
    $query = "SELECT * FROM stammdaten";
    $ausgabe=mysql_query($query);
    
    while ($row=mysql_fetch_array($ausgabe))
    	{
    	echo "$row <br>";
    	}
    Anstatt mir aber die einzelnen Einträge auszugeben, wird mir nur "Array" angezeigt.

    Weiß jemand, was das zu bedeuten hat?
     
  2. vahdeani

    vahdeani Ribston Pepping

    Dabei seit:
    29.01.09
    Beiträge:
    300
    du darfst, kannst(!), nicht das ganze array "echoen", sondern mit eckiger klammer eben jene zeile, die du ausgeben willst.
     
  3. _linx_

    _linx_ Kleiner Weinapfel

    Dabei seit:
    04.01.09
    Beiträge:
    1.125
    Um es noch ein wenig deutlicher zu erklären:

    Du kannst dir das wie ein Numbers-Dokument (oder Excel-~) vorstellen. Du hast eine Tabelle (stammdaten) und darin Spalten (id, name, ...; was du auch immer definiert hast). Die Spalten sind die Titel, die also bezeichnen, was in der Tabelle vorhanden ist.
    Und nun füllst du deine Tabelle mit Einträgen (Rows; = Zeilen).

    Du liest hier alle Zeilen von der Tabelle "stammdaten" aus. Und du bekommst diese als Array zurück. Es empfiehlt sich übrigens, meiner Meinung nach, mysql_fetch_assoc zu verwenden, wieso auch immer... (http://coding.derkeiler.com/Archive/PHP/alt.php/2004-11/0817.html).

    Du musst also anstatt nur
    echo $row;
    folgendes verwenden:
    echo $row['spaltenname'];
     
  4. vahdeani

    vahdeani Ribston Pepping

    Dabei seit:
    29.01.09
    Beiträge:
    300
  5. Bissy

    Bissy Johannes Böttner

    Dabei seit:
    03.02.07
    Beiträge:
    1.159
    Ok, vielen Dank.
    Ich habe dafür jetzt einfach da noch eine Schleife eingefügt, damit er mir alle Array-Elemente ausgibt.
     
  6. Bissy

    Bissy Johannes Böttner

    Dabei seit:
    03.02.07
    Beiträge:
    1.159
  7. _linx_

    _linx_ Kleiner Weinapfel

    Dabei seit:
    04.01.09
    Beiträge:
    1.125
    ... nur tanzen kann er nicht.

    Foreach? Zum Ausprobieren mag das ja gut sein, aber für den "produktiveinsatz" ist so etwas nicht geeignet, da jede Schleife den Compiler "aufhält".
     
  8. Bissy

    Bissy Johannes Böttner

    Dabei seit:
    03.02.07
    Beiträge:
    1.159
    Ja!
    Wie würde man es denn stattdessen im Produktiveinsatz machen? Bin echt überfordert im Moment. Muss eine Datenbank für eine Kundenverwaltung anlegen und weiß vorne und hinten nicht weiter. Der Informatik Leistungskurs ist schon wieder fast 5 Jahre her...
     
  9. creative7even

    creative7even Jerseymac

    Dabei seit:
    23.02.05
    Beiträge:
    454
    nicht verwirren lassen - foreach ist in der Regel schneller als der Zugriff über einen numerischen Index.

    Code:
    $query = 'SELECT * FROM stammdaten';
    $rs = mysql_query($query);
    while($row = mysql_fetch_assoc($rs)) {
       foreach($row as $fieldName => $fieldValue) {
          echo $fieldName.': '.$fieldValue;
       }
    }
    
    um nicht unnötig die ganze Tabelle zu laden selektiert man normalerweise schon in der Query die benötigten Felder bzw. Datensätze:

    Code:
    SELECT id,title,description FROM stammdaten LIMIT 10,20
    
     
  10. Bissy

    Bissy Johannes Böttner

    Dabei seit:
    03.02.07
    Beiträge:
    1.159
    So wie du es hast, hab ich es auch ungefähr gemacht. Denke, dass das so auch Sinn macht. Das Auslesen der Daten soll auch nicht ständig erfolgen. Wichtiger ist das Eintragen. Das geschieht über das Internet. Das Auslesen war für mich erst auch nur mal zur Kontrolle, ob alles klappt.
    Da es eine Datenbank im Netz ist: Macht das Sinn, diese DB jeden Tag offline zu sichern? Bzw. könnte man sie ja auch lokal sichern und immer aktualisieren und so den Webserver frei halten oder?
     
  11. creative7even

    creative7even Jerseymac

    Dabei seit:
    23.02.05
    Beiträge:
    454
    was heisst offline sichern/lokal sichern/aktualisieren um websever frei zu halten?

    Das Sichern sollte vom Provider übernommen werden (je nach Vertrag geschieht das manuell/stündlich/täglich/... etc). Was ist der Sinn dieser Applikation?
     

Diese Seite empfehlen