Sönke Tesch: Eintrag in DB mittels ID wieder auslesen

Beitrag lesen

$sid  = $HTTP_POST_VARS["id"];
$version  = $HTTP_POST_VARS["version"];

// in DATENBANK einfügen
$sqlInsert  = "INSERT INTO kvs (version) VALUES ('$version'')";

Benutze immer, immer, immer mysql_escape_string(), wenn Du Daten von "draußen" an MySQL weitergibst.

$sqlInsert  = "INSERT INTO kvs (version) VALUES ('".mysql_escape_string($version)."')";

Ähnliche Funktionen: addslashes() und htmlentities().

$result = mysql_query($sqlInsert);
if (mysql_error())

Warum fragst Du nicht gleich mysql_query() ab?

if (! $result=mysql_query($sqlInsert))
     die(mysql_error());

(Den Teil "$result=" kannst Du auch ganz weglassen.)

echo "<A HREF="show.php?id=$sid">Daten ansehen</A>";

Mit diesem Link möchte ich auf der nächsten Seite den soeben gespeicherten Datensatz auslesen. Mittels ID.

Dann solltest Du Dir die ID des gespeicherten Datensatzes holen oder sonst irgendetwas, mit dem Du den Datensatz eindeutig identifizieren kannst - irgendeinen Parameter aus dem Hut zaubern, ist jedenfalls wenig sinnvoll.

Sofern die Datensätze in kvs eine Spalte mit AUTO_INCREMENT haben, kannst Du die Nummer des zuletzt gespeicherten Datensatzes per LAST_INSERT_ID() (SQL) oder mysql_insert_id() (PHP) abfragen.
Gibt es keine solche Spalte, mußt Du den Datensätzen ein anderes, eindeutiges Merkmal verpassen.

$result = mysql_query("Select * from news WHERE id=$sid",$db);

Auch hier hast Du wieder vergessen, Dich mit mysql_escape_string() abzusichern.

Davon abgesehen frage ich mich allerdings, ob Du weißt, was Du tust. Wenn Du oben etwas in die Tabelle kvs schreibst, warum versuchst Du dann hier, diesen Datensatz aus der Tabelle news zu holen? "Eben noch auf der Baustelle, jetzt auf der Showbühne"?

Gruß,
  soenk.e