Vinzenz Mai: Bestimmten Eintrag aus der DB

Beitrag lesen

Hallo Xerooo,

Hallo ich will aus einer Datenbank nen bestimmten Eintrag haben.

dann solltest Du Deine Abfrage so gestalten, dass Du genau diesen bestimmten Eintrag bekommst. Das ist die effizienteste Vorgehensweise.

NUr leider kann ich nur den kompletten inhalt ausgeben, aber nicht den 3 eintrag aus email[0]

Grundsätzlich geht das schon. Du solltest Dir die Beispiele zu mysql_fetch_array() ansehen.

$anzahl = mysql_num_rows(mysql_query("SELECT email FROM newsletter"));

Diese Verschachtelung von Funktionsaufrufen ist ungünstig gewählt. Du ignorierst die Möglichkeit, dass mysql_query den Wert false zurückgibt. Rechne damit, behandle den Fall entsprechend.

Nein, solche Verschachtelungen sind in vielen Fällen _nicht_ effizient.

$result = mysql_query("SELECT email FROM newsletter");

SELECT hat eine WHERE-Klausel. Nutze diese.

$email = mysql_fetch_row($anzahl);
echo $email[0];

Liefert die erste - und somit einzige - Spalte des ersten Datensatzes des Resultsets. Du willst die erste Spalte des dritten Datensatzes haben. Wie oft musst Du dann noch die Daten abrufen.

Und woher weißt Du, dass Du den dritten Datensatz benötigst? Du hast keine ORDER BY-Klausel verwendet - und somit können die Datensätze in beliebiger Reihenfolge zurückgeliefert werden. MySQL garantiert Dir keine Reihenfolge.

Noch besser ist es, die bereits erwähnte WHERE-Klausel zu verwenden, um genau den gewünschten Datensatz zurückzuliefern.

Freundliche Grüße

Vinzenz