ERLEDIGT
NEIN
NEIN
ANTWORTEN
10
10
ZUGRIFFE
392
392
EMPFEHLEN
-
Hey,
Hier mein Problem:
Ich habe ein Update-Script geschrieben, nur leider tut es nicht das, was es soll: Updaten
Hier die Scripts:
Das "Form-Script":
PHP-Code:<?php
$Host = "localhost";
$User = "web488";
$Password = "aiosdaösodkjasd";
$DBName = "usr_web488_3";
$TableName = "edit";
$Link = mysql_connect($Host, $User, $Password);
mysql_select_db($DBName);
$Query = "SELECT
*
FROM
$TableName";
$Result = mysql_query($Query);
$row = mysql_fetch_array($Result);
?>
<form action="edit.php" method="post">
<input type="text" name="name" value="<?php echo " ".$row['name']." "; ?>" />
<p>
<select name="geschlecht">
<option name="männlich">männlich</option>
<option name="weiblich">weiblich</option>
</select>
<p>
<input name="alter" type="text" value="<?php echo " ".$row['alter']." "; ?>" /> - Alter
<p>
<input name="hobbys" type="text" value="<?php echo " ".$row['hobbys']." "; ?>" /> - Hobbys
<p>
<input name="motto" type="text" value="<?php echo " ".$row['motto']." "; ?>" /> - Motto
<p>
<input name="datum" type="text" value="<?php echo " ".$row['datum']." "; ?>" /> - Geb.Datum
<p>
<input type="submit" value="submit" />
</form>
Und das Update-Script an sich
PHP-Code:<?php
$Host = "localhost";
$User = "web488";
$Password = "alsdhfjö-akljesfzhawöef";
$DBName = "usr_web488_3";
$TableName = "edit";
$Link = mysql_connect($Host, $User, $Password);
mysql_select_db($DBName);
$name = $_POST['name'];
$geschlecht = $_POST['geschlecht'];
$alter = $_POST['alter'];
$hobbys = $_POST['hobbys'];
$motto = $_POST['motto'];
$datum = $_POST['datum'];
$Query = ("UPDATE
$TableName
set
name='$name',
geschlecht='$geschlecht',
alter='$alter',
hobbys='$hobbys',
motto='$motto',
datum='$datum'");
$Result = mysql_query($Query);
header ("Location: form.php");
?>
Ich hoffe mal, Ihr könnt mir helfen
David
-
Hallo,
lass dir doch mal die Fehlermeldung von mysql_error() ausgeben.
mfg
forstermWie man Fragen richtig stellt
Wichtig: Bitte markiert eure beantworteten Fragen als "erledigt" (links unten auf "Erledigt" klicken).
__________________
.:Mitglied #26 des 1. offiziellen Sven Uwe Fan-Clubs:.
-
Hi,
alsooo....
wenn du etwas updaten willst, gibt es dafür ja bereits eine ID, welche du diesem Teil den du updaten willst zugewiesen wurde. Mit dieser ID rufst du die Werte ja aus der DB ab. Das fehlt - zumindest bei meinem überfliegen des Codes - in deinem Code.
Wenn du nun per Form-Tag die Daten übergibst, musst du um Fehler zu vermeiden per If die übergebenen Werte prüfen ob diese vorhanden sind. Wenn nicht folgt else.
Danach folgt der Query:
PHP-Code:<?php
// WHERE um das Update einer ID in der DB zuzuweisen
// LIMIT, damit nur ein Update durchgeführt wird
mysql_query("UPDATE
$TableName
SET
name = '$name',
geschlecht = '$geschlecht',
alter = '$alter',
hobbys = '$hobbys',
motto = '$motto',
datum ='$datum'
WHERE
id = ''
ORDER BY
id
LIMIT 1") or die (mysql_error());
// header als umleitung und weg von dem script oder formular inkl. exit, welches das script beendet.
header("Location: http://www.domain.de/index.php");
exit();
?>tschöh mit öh
salia
Wenn kein Text oben vorhanden ist, hier klicken:
Für PHP -> FAQ
Für PHP -> php.net
für MySQL -> dev.mysql.com
-
11.05.06 22:21 #4
Aber wenn keine WHERE `id` = x, dann werden alle Datensätze geupdated, was anscheinend nicht der Fall ist, sonst hätte er seine Frage anders formuliert. Es liegt an dem alter Feld. Alter ist ein von mysql reserviertes Wort. Setz alter in ` `, also `alter`, dann gehts.
PHP-Code:$Query = ("UPDATE
`$TableName`
SET
`name`='$name',
`geschlecht`='$geschlecht',
`alter`='$alter',
`hobbys`='$hobbys',
`motto`='$motto',
`datum`='$datum'");
Geändert von mAu (11.05.06 um 22:23 Uhr)
Gruß mAu
──────────────────────────
Ich auf flickr
* Unformatierten Quellcode schaue ich mir _nicht_ an!
* Sollte ich euch bei einer Frage weitergeholfen haben, würde ich mich über eine positive Bewertung freuen.
* Bitte die Netiquette beachten.
* Vergesst nicht, beantwortete Fragen als erledigt zu markieren!
-
Lass mich raten, welche Fehlermeldung kommt:
Problem: Du verwendest einen von MySQL reservierten Begriff („alter“). Zeichne deine Spalten einfach explizit mit den so genannten Backticks (`, U+0060) als solche aus. Siehe dazu auch die Schreibweise von Datenbank-, Tabellen-, Index-, Spalten- und Alias-Namen.MySQL Error: You have an error near 'alter = '…'' near Line nMarkus Wulftange
-
Ok, alter hatte ich nicht genannt - deshalb (mysql_error());
Was macht es für einen Sinn, wenn er alle Inhalte in einer Tabelle upt? Das macht überhaupt keinen Sinn - eine Tabelle für eine Zeile?tschöh mit öh
salia
Wenn kein Text oben vorhanden ist, hier klicken:
Für PHP -> FAQ
Für PHP -> php.net
für MySQL -> dev.mysql.com
-
11.05.06 22:55 #7
Nein, aber er hat gesagt, dass nichts geupdated wird, also Schlussfolgere ich, dass etwas an der Query nicht stimmt und er nicht wissen will, warum nicht genau ein Datensatz editiert wird. Ok?
Gruß mAu
──────────────────────────
Ich auf flickr
* Unformatierten Quellcode schaue ich mir _nicht_ an!
* Sollte ich euch bei einer Frage weitergeholfen haben, würde ich mich über eine positive Bewertung freuen.
* Bitte die Netiquette beachten.
* Vergesst nicht, beantwortete Fragen als erledigt zu markieren!
-
Das innerhalb des Query was nicht stimmt ist fakt. Das sollte er aber selbst durch die Fehlermeldung sehen.
Wie auch immer er was gemeint hat ist letztlich Spekulation und Auslegungssache. Lassen wir sinnloses......tschöh mit öh
salia
Wenn kein Text oben vorhanden ist, hier klicken:
Für PHP -> FAQ
Für PHP -> php.net
für MySQL -> dev.mysql.com
-
Nicht unbedingt. Ich hab in dem Portal hier auf der Arbeit eine Tabelle mit dem Namen settings. Fuer jede Einstellung gibt es dort ein Feld.
Zitat von saila
Und da alle Einstellungen global sind brauche ich nur eine Zeile in der Tabelle.
Ich habe dadurch aber immer noch die Moeglichkeit spaeter durch hinzufuegen einer UserID zu erlauben, dass User einige Einstellungen fuer sich anpassen koennen.
@David: Ich nehme mal an, dass das Passwort oben in Deinem Quelltext nicht Dein richtiges Passwort ist sondern das Ergebnis einer Tastaturvergewaltigung, richtig?PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
-
hey Jungs,
danke schon mal für die vielen Antworten
Zu einigen von euch: Nein, es kam noch keine Fehlermeldung....
@ Dennis: Jau, das ist das Ereignis des sinnlosen rumhacken auf der Tastatur
P.s.: Ich habe es jetzt so probiert:
$Query = "UPDATE
$TableName
SET
`name`='$name'";
und so weiter...
jetzt es
Danke mAu...
Hab ich wohl übersehen die ``
DavidGeändert von Kalma (12.05.06 um 07:33 Uhr)
-
Noch ein kleiner Sicherheitshinweis: Beschäftige dich mal mit SQL-Injektionen.
Markus Wulftange
Ähnliche Themen
-
Update Script
Von tioz im Forum PHPAntworten: 1Letzter Beitrag: 09.01.08, 21:42 -
Pn-script... Problem mit DELETE/UPDATE...
Von Tobbes im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 01.07.06, 01:28 -
Problem bei Update Script
Von Chaoslion im Forum PHPAntworten: 1Letzter Beitrag: 04.12.05, 13:22 -
Update script bringt fehler
Von cofter im Forum PHPAntworten: 16Letzter Beitrag: 25.01.05, 13:28 -
Denkfehler im Update-Script?
Von Hockeyfan4444 im Forum PHPAntworten: 3Letzter Beitrag: 05.11.04, 16:35





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren