PDA

Vollstndige Version anzeigen : UPDATE-Problem


Darksaber
21-08-2003, 13:24
Hi

Ich hab eine Tabelle mit 5 Spalten, id, name, link, grafik und beschreibung. Es soll mglich sein, bestimmte Eintrge zu bearbeiten.
Die Seite fr die Bearbeitung sieht so aus:

Name: <input type"=text" name="name"....>
URL: <input type="text" name="link" ...>
Grafik: <input type="text" name="grafik" ...>
Beschreibung: <input type="text" name="beschreibung" ...>

Die Values der Textfelder weren durch die Eintrge aus der Datenbank gefllt.

Und so will ich dann das ganze in die Datenbank eintragen:

<?php
if(!empty($_POST['name']))
{
require("../../config/db.php");
$eintrag = mysql_query("UPDATE games SET name = '".$_POST['name']."' AND link = '".$_POST['url']."' AND grafik = '".$_POST['grafik']."' AND beschreibung = '".$_POST['beschreibung']."' WHERE id = '".$_POST['id']."'");
if(mysql_affected_rows() == 1)
{
echo "Eintragung erfolgreich";
}
else
{
echo "Datenbankfehler!";
}
}
else
{
echo "Bitte fllen Sie alle bentigten Felder aus";
}
?>

id wird ber ein Hiddenfield bergeben.

Nun habe ich aber das Problem, dass das Script mir "Datenbankfehler!" zurckgibt wenn ich in einem der input-Felder keine nerungen vorgenommen habe.
Weiterhin bekomme ich den felderausfllen-Fall, wenn wenn ich am Namefeld keine Vernderungen vorgenommen habe, obwohl dieses ja schon aus der Datenbank heraus gefllt wurde.

Kann mir da vielleicht jemand von euch helfen?

Gruss
Darky

Damir
21-08-2003, 13:44
Hi,
es liegt an dem AND in Deinem Query!
Mache es so:

$eintrag = mysql_query("UPDATE games SET name = '".$_POST['name']."', link = '".$_POST['url']."', grafik = '".$_POST['grafik']."', beschreibung = '".$_POST['beschreibung']."' WHERE id = '".$_POST['id']."'");

Bye DAmir

soerens2701
10-09-2003, 00:00
habe ein hnliches Problem nur er will es irgend wie nich updaten:

mein formular:

<form method="post" action=<?php echo $PHP_SELF ?>>
ID: <input type="id" name="id"><br>
Nachricht: <textarea type="text" name="text"></textarea><br>
<input type="submit" name="valider" value="Send">
</form>

und mein php-gebastle in der GLEICHEN php-seite:

<?php
if ($valider) {
$db = mysql_connect();
$eintrag="UPDATE zugriff SET IM = '".$_POST['IM']."' WHERE id = '".$_POST['id']."'";
mysql_query($eintrag, $db);
}
?>
hoffe ihr knnt mir weiterhelfen!!!

c4
10-09-2003, 06:33
soerens, Du wirst das vermutlich so schreiben mssen: if ($_POST['valider']) {

soerens2701
10-09-2003, 10:13
... und damit alle etwas davon haben mchte ich als Neuling der
PHP und MySQL es VERSUCHEN zu erklren (Ich bernehme keinerlei
Haftung bei folgeschden, die dadurch entstehen knnen ;-) )

Also mal der Quelltext:
<?php
if ($valider) {
$db = mysql_connect();
$eintrag="UPDATE zugriff SET IM = '".$_POST['IM']."' WHERE id = '".$_POST['id']."'";
mysql_query($eintrag, $db);
}
?>
<form method="post" action=<?php echo $PHP_SELF ?>>
ID: <input type="id" name="id"><br>
Nachricht: <textarea type="IM" name="IM"></textarea><br> # Ich habe vergessen diese Werte mit den neuen SQL-Tabellen Wert zu ersetzen!!!
<input type="submit" name="valider" value="Send">
</form>


So hoffe jemanden geholfen zu haben ;-) aber hat sich vieleicht auch jeder denken knnen....

c4
10-09-2003, 18:16
Fein, dass es klappt, aber was soll type='IM' bei <textarea> bedeuten?? Gibt's das berhaupt?