Autor |
Nachricht |
yz400f
Threadersteller
Dabei seit: 07.03.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mi 07.03.2007 02:02
Titel [PHP] SQL UPDATE vom Formular |
|
|
Hallo,
ich möchte das Formularfeld Str an meine Mysql Tabelle mit dem Feld STR und id='2' also Schlüsselfeld übertragen. Aber jetzt wird mir nur die 13 Übertragen bei absenden.
Hab gedacht so $sql = 'UPDATE adressen SET $_POST[Str] WHERE id=\'2\''; aber funktioniert auch nicht bitte um Hilfe.
Strasse: <input type="text" name="Str" /><br />
$sql = 'UPDATE adressen SET Str=\'13\' WHERE id=\'2\'';
[edit]
Titel geändert.
Zuletzt bearbeitet von tacker am Mi 07.03.2007 08:19, insgesamt 1-mal bearbeitet
|
|
|
|
|
pRiMUS
Dabei seit: 09.09.2003
Ort: Vienna
Alter: 48
Geschlecht:
|
Verfasst Mi 07.03.2007 07:16
Titel
|
|
|
1. funktioniert nicht ist ne 1a fehlermeldung, nur irgendwie bekomme ich die nie.
2. du haust deine quotes wild durcheinander
entweder
Code: | $sql = 'UPDATE adressen SET '. $_POST["Str"] .' WHERE id=\'2\''; |
oder
Code: | $sql = "UPDATE adressen SET ". mysql_real_escape_string($_POST["Str"]) ." WHERE id='2'"; |
wichtig, hau am anfang deines scripts ein error_reporting(E_ALL); und display_errors(1) rein. nach jedem sql statement folgt ein mysql_error();
ach ja, und um böse überraschungen zu vermeiden, solltest du usereingaben stets mit mysql_real_escape_string() verarbeiten. und in deiner post variable der array eintrag Str ist in quotes zu setzen, denn andernfalls würdest du eine konstante ansprechen.
denn dann bekommst du aussagekräftigere fehlermeldungen wie "funktioniert nicht" und es kann dir besser geholfen werden.
Zuletzt bearbeitet von pRiMUS am Mi 07.03.2007 07:18, insgesamt 1-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
Benutzer 28377
Account gelöscht
Ort: -
|
Verfasst Mi 07.03.2007 08:05
Titel
|
|
|
Fehlt das nicht etwas ?
> SET '. $_POST["Str"] .'
SET was ?
Pflaumen, Kuchen oder Eier ?
|
|
|
|
|
pRiMUS
Dabei seit: 09.09.2003
Ort: Vienna
Alter: 48
Geschlecht:
|
Verfasst Mi 07.03.2007 09:24
Titel
|
|
|
CIX88 hat geschrieben: | Fehlt das nicht etwas ?
> SET '. $_POST["Str"] .'
SET was ?
Pflaumen, Kuchen oder Eier ? |
in der tat, das kommt vom flüchtigen c&p des ursprungstextes mein fehler.
Code: | $sql = "update tabelle set `spalte` = '". $_POST["Str"] ."' where id = '1'"; |
so sollte es dann richtig sein.
|
|
|
|
|
yz400f
Threadersteller
Dabei seit: 07.03.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mi 07.03.2007 12:00
Titel Abfrage |
|
|
Danke,
jetzt funktioniert es. Kann mir jemand noch ein Tipp geben wie ich das Update Formular
darauf beschrenke das man der User nur einmal die SQL Tabelle updaten darf.
|
|
|
|
|
Joxa
Dabei seit: 06.10.2005
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mi 07.03.2007 13:50
Titel
|
|
|
Eine Möglichkeit wäre z.B.
das du die Tabelle um ein Feld "is_updated" o.ä. mit default 0 erweiterst in welches du
beim ersten update einfach eine 1 rein schreibst.
vor dem update machst du jetzt einfach eine Abfrage des Feldes,
wenn 0 -> mach das update
else -> mach nichts
|
|
|
|
|
Benutzer 28377
Account gelöscht
Ort: -
|
Verfasst Mi 07.03.2007 15:20
Titel
|
|
|
> vor dem update machst du jetzt einfach eine Abfrage des Feldes
Brauchste nicht, kannste gleich mit WHERE verbinden
|
|
|
|
|
beeviZ
Dabei seit: 30.09.2002
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mi 07.03.2007 16:22
Titel
|
|
|
und wie teilste dem user so mit ob geupdated wurde oder nicht?
ich mein wenn du $query = mysql_query("UPDATE ... WHERE is_updated = 0"); machst, bekommste über if(!$query) nicht raus ob etwas geupdated wurde oder nicht, weil die mysql_query funktion an sich ausgeführt wurde.
|
|
|
|
|
|
|
|
Ähnliche Themen |
PHP/MySQL >> Problem bei DB-Update per Formular
Update auf CS 3
QT PRO - Update
problem mit update
[PHP] client update
Update mit checkbox
|
|