pl-q
Goto Top

Wie einen Eintrag in eine MySQL Datenbank?

Hallo,
ich möchten einen Eintrag in eine MySQL Datenbank vornehmen.
Die DB heißt: realmd
Die Tabelle: account

Wie mache ich das?? Habe im Internet ein paar beispiele gefunde. Habe es aber nicht geschafft sie zum laufen zu bringen

MFG
PL-q

Content-Key: 88561

Url: https://administrator.de/contentid/88561

Printed on: April 20, 2024 at 03:04 o'clock

Member: PL-q
PL-q May 27, 2008 at 16:16:32 (UTC)
Goto Top
Vielen Dank. Hat geklappt.
Leider hab ich noch ein Problem. Schaffe es nicht ein Wert aus der DB auszulesen.

Code:

<?php

$dbhandle = mysql_connect("localhost","root","");

$db = mysql_select_db("realmd", $dbhandle);

$result = mysql_query("SELECT id FROM account");

echo $result
?>

Möchte das er die letzte Zeile aus ließt. Die Id wäre immer eine Zahl.

Hatte bei ID 5 stehen, bekomme aber folgende Meldung: Resource id #3
Mitglied: 60734
60734 May 27, 2008 at 17:39:39 (UTC)
Goto Top
Der Anfang war schonmal nicht schlecht ;-D

<?php

$dbhandle = mysql_connect("localhost","root","");

$db = mysql_select_db("realmd", $dbhandle);

$result = mysql_query("SELECT id FROM account");

while($ergebnis = mysql_fetch_assoc($result))
{
echo $ergebnis["id"] . "<br>";
}

?>


ps: wie war das mit der letzten Zeile gemeint? check ich net^^
Member: PL-q
PL-q May 28, 2008 at 12:40:31 (UTC)
Goto Top
Funktioniert soweit.
Bei mir kommen dann Zahlen wie 1 2 usw.
Möchte, dass dann die letzte Zahl ausgewählt werden soll.

z. B.:

1
2
3

Dann sollte die 3 ausgewählt werden.
Member: Arano
Arano May 29, 2008 at 13:09:42 (UTC)
Goto Top
Moin,

  SELECT id
    FROM account
ORDER BY id DESC
   LIMIT 1
Wir wollen von der letzten Zeile in der Tabelle, den Wert des Feldes `id`.
Dazu lassen wir die Tabelle anhand der `id` absteigend (DESC) sortieren (ORDER BY id) und beschränken die Anzahl der Ergebnisse auf 1 (LIMIT 1).
So erhalten wir eine einzige Zeile der Tabelle, nämlich die letzte.

Da wir nun nur noch eine Zeile als Ergebnis bekommen, passen wir das Skript von SimPsoNs4eVEr noch etwas an.
Mit der while-Schleife hat SimPsoNs4eVEr jede einzelne Zeile des Ergebnisses abgearbeitet, da wir das Ergebnis auf eins beschränkt haben, wissen wir ja das dieses auch nicht mehr wird - zumal wir ja auch nur eine Zeile haben wollen.
Deshalb können wir die while-Schleife hier weglassen:

<?php

$dbhandle = mysql_connect("localhost","root","");  
$db       = mysql_select_db("realmd", $dbhandle);  
$query    = 'SELECT id  
               FROM account
           ORDER BY id DESC
              LIMIT 1';  
$result   = mysql_query($query);
$ergebnis = mysql_fetch_assoc($result);

echo $ergebnis["id"] . "<br>";  

?>
mysql_query() liefert im Zusammenhang mit einem SELECT-Query eine "Resource Id #X" zurück. Dieses Resource Id zeigt auf die Ergebnistabelle von MySQL, mit Funktionen wie mysql_fetch_assoc("Resource Id") kann man dann die Ergebnistabelle Zeile für Zeile durchgehen um Spaltenwerte auszugeben.

~Arano

`//EDIT:`
Gar kein Code-Block für SQL da face-sad
Member: PL-q
PL-q Jun 01, 2008 at 17:31:54 (UTC)
Goto Top
Danke. Funktioniert soweit.
Wie kann ich jetzt dazu Zahlen addieren??
z. B.: Ich bekomme die Zahl 7 und möchte sie mit 1 Addieren, sodass 8 rauskommt.

Bin ein ziemlicher Anfänger in MySQL...
Member: Arano
Arano Jun 01, 2008 at 19:45:02 (UTC)
Goto Top
Schönen Sonntag zusammen face-smile

  SELECT id+1
    FROM account
ORDER BY id DESC
   LIMIT 1
so müsstest du die Spalte allerdings mit "id+1" ansprechen
echo $ergebnis['id+1'];  
Um das nicht zu müssen kannst du den Query auch so gestalten:
  SELECT id+1 AS id
Danach ist den Name wieder "id".

Bis denn
Arano