Christopher: Datenbankeintrag ändern!

Grüß euch!

Folgendes Problem: Will jetzt die Daten die ich vorher mittels Webinterface eingegeben habe ändern!

Stelle mir das so vor. Zuerst mal die Daten einlesen, Bearbeiten und dann wieder abspeichern!

Hab mal so was zusammengeschrieben! Nur irgendwas geht nicht. Kommt immer die Fehlermeldung "Es traten Probleme auf."

Quelltext: Ausgabe/Ändern

<?
include('config/mysql.inc.php');
$tabelle = "interview";

$dbverbindung = mysql_connect ($host, $user, $password);
$dbanfrage = "SELECT * FROM $tabelle WHERE id = $_REQUEST[id]";
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);
$id = $_GET['id'] + 1;
while ($ausgabe = mysql_fetch_array ($result))
{
echo ("
<form action='admin-test.php?id=$ausgabe[id]' method=post>
<textarea name='Array[interview]' cols='50' rows='2'>$ausgabe[interview]</textarea>
<br><br>
<input type=submit name='SUBMIT' value='Eintragen'>

");
}
mysql_close ($dbverbindung)

?>

Quelltext: Abspeichern

<?php

include('config/mysql.inc.php');
$tabelle ="interview";

$dbverbindung = mysql_connect ($host, $user, $password);
$dbanfrage = "UPDATE into $tabelle WHERE id = $_REQUEST[id]  values
('0', '$Array[interview]')";
if (mysql_db_query ($dbname, $dbanfrage, $dbverbindung)) { print ("Datenbankeintrag erfolgreich.");
} else { print ("Es traten Probleme auf.");
}
mysql_close ($dbverbindung);
?>

  1. Hi,

    Hab mal so was zusammengeschrieben! Nur irgendwas geht nicht. Kommt immer die Fehlermeldung "Es traten Probleme auf."

    eine Fehlermeldung, die uebrigens fast genauso nichtssagend ist wie zum Beispiel '-1'.

    if (mysql_db_query ($dbname, $dbanfrage, $dbverbindung)) { print ("Datenbankeintrag erfolgreich.");
    } else { print ("Es traten Probleme auf.");

    Na, was hat da wohl nicht geklappt? 'mysql_db_query' veilleicht?

    Hmm, koennte an

    $dbanfrage = "UPDATE into $tabelle WHERE id = $_REQUEST[id]  values
    ('0', '$Array[interview]')";

    liegen. Wie sieht denn $dbanfrage genau aus, wenn mysql_db_query scheitert?

    Gruss,
    Ludger

  2. Hallo Christopher,

    $dbverbindung = mysql_connect ($host, $user, $password);

    wo ist die Fehlerbehandlung?

    $dbanfrage = "SELECT * FROM $tabelle WHERE id = $_REQUEST[id]";

    lies mal dclp-faq: 16.14. Warum soll ich nicht SELECT * schreiben? und dclp-faq: 12.11. Prüfe importierte Parameter. Traue niemandem.

    $result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);

    die Funktion mysql_db_query ist veraltet, verwende mysql_select_db()[1] und mysql_query()[1].

    $dbanfrage = "UPDATE into $tabelle WHERE id = $_REQUEST[id]  values
    ('0', '$Array[interview]')";

    schau dir mal auf http://dev.mysql.com/doc/mysql/de/update.html den richtigen Syntax von UPDATE an.

    } else { print ("Es traten Probleme auf.");

    so eine Meldung ist sinnfrei - lass dir in so einem Fall immer mysql_error()[1] ausgeben.

    Grüße aus Nürnberg
    Tobias

    [1] die mysql_* Funktionen findest du unter http://www.php.net/ref.mysql.