update DB nit

quidnovi

Erfahrenes Mitglied
update DB mag nit !

Hallo peoplz!
Habe da ein Problem, das ich leider nicht eingrenzen kann.
Ich arbeite mit win2000pro
Apache 2.0.47, MySQL 4.0.14, PHP 4.3.3 rc2 + PEAR, mod_php 4.3.3 rc2 ,
PHPMyAdmin 2.5.2 rc1
Ich möchte eine DB updaten, aber sie will es nicht !
Der Name der DB : stot
Der Table-Name: angebote

1) Erstellung der Abfrageseite, in dem die benötigten HTML tables erzeugt werden.
Hier werden alle Elemente des DB-Tables mit einem "Radio"-Button zur
Auswahl angezeigt.
Folgende Datentypen:
angeboteid - varchar(13) Primarykey (not null);
angeboteBetselltext - longtext (null);
angebotePartnerid - varchar(13) (null);
angeboteDatum - date (null);
$res = mysql_db_query("stot", "select * from angebote order by angebtoteid");

2) Auf dem 2. Script werden die ausgewählten Elemente in Eingabefelder zur
Veränderung aufgelistet. Diese Änderung(en) sollte nach der Bestätigung mit
dem dafür vorgesehenen Button in den DB-Tablegeschrieben werden, dann
wird man wieder auf die Abfrageseite zur Kontrolle verlinkt.
$abfr = "select * from angebote where angeboteid = $auswahl");
$res = mysql_db_query("stot", $res);

Dieser Code zur Änderung sieht folgendermaßen aus:
$db = mysql_connect();
$abfr = "update angebote set angeboteid = '$neuid',";
$abfr .= "angebotebestelltext = '$neube',";
$abfr .= "angebotepartnerid = '$neupa',";
$abfr .= "angebotedatum = '$neuda',";
$abfr .= "where angeboteid = $oriid";

mysql_db_query("stot", $abfr);
$num = mysql_affected_rows();
if ($num > 0)
echo "Der Datensatz wurde geaendert.<p>";
else
echo "Der Datensatz wurde <B>nicht</B> geaendert.<p>";

mysql_close($db);

Das Unbegreifliche ist, dass ich Neueintrage hinzufügen sowie das Löschen der
Table-Elemente durchführen kann.

Ich weiss, dass "mysql_db_query" veraltet ist, habe aber noch eine DB angelegt,
die das update mit diesem Script erlaubt.
Bitte dringend um Hilfe!
Danke im Voraus
 
Zuletzt bearbeitet:
Hi - ic bin zu faul, den ganzen PHP Code mir anzuschauen. Kannst Du einfach nur die SQL Statements rausschreiben? Auch wäre ne kurze Beschreibung der Table nett. (z.B. desc table)

Chris
 
PHP:
Dieser Code zur Änderung sieht folgendermaßen aus:
$db = mysql_connect();
$abfr = "update angebote set angeboteid = '$neuid',";
$abfr .= "angebotebestelltext = '$neube',";
$abfr .= "angebotepartnerid = '$neupa',";
$abfr .= "angebotedatum = '$neuda',";
$abfr .= "where angeboteid = $oriid";

vor WHERE KEIN Komma ! ;)

sollte klappen wenn Du es so machst :
PHP:
$db = mysql_connect();
$abfr = "update angebote set angeboteid = '$neuid',";
$abfr .= "angebotebestelltext = '$neube',";
$abfr .= "angebotepartnerid = '$neupa',";
$abfr .= "angebotedatum = '$neuda'";
$abfr .= "where angeboteid = $oriid";

Immer Fehler ausgeben, dann findest Du das Problem selber schneller.
 
Hi Ralph

SUUUUUUUUUUUUUUUUUUUUUPIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII



Hab' vielen, vielen Dank

Was hast'n mit der Fehlerausgabe gmeint

Die Fehlermeldung war nur das "else"

mfg Günter
 
Sowas z.B.:

PHP:
if (mysql_query($sql))
  echo "Vorgang erfolgreich.";
else {
  echo"Ein Fehler ist aufgetreten:<br>
  SQL: $sql<br><br> ".mysql_error();
}

Damit wird dir nochmal das SQL Statement mit "gefüllten" Variablen ausgegeben und die mySQL Fehlerausgabe auf dem Bildschirm präsentiert.

Somit kannste viel, viel einfach Fehler finden.
 
Zurück