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-ID: 88561

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

Ausgedruckt am: 22.11.2024 um 09:11 Uhr

PL-q
PL-q 27.05.2008 um 18:16:32 Uhr
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
60734
60734 27.05.2008 um 19:39:39 Uhr
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^^
PL-q
PL-q 28.05.2008 um 14:40:31 Uhr
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.
Arano
Arano 29.05.2008 um 15:09:42 Uhr
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
PL-q
PL-q 01.06.2008 um 19:31:54 Uhr
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...
Arano
Arano 01.06.2008 um 21:45:02 Uhr
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