Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „UPDATE in Mysql klappt nicht so ganz“

Zeiflex

Noch nicht viel geschrieben

Hallo Leute,
habe mal wieder eine Frage. In meinem Script klappt alles, bis auf das Eitnragen in der Datenbank. Die Tabelle Config hat folgende Spalten id, parameter, wert, name, beschreibung.
Und nun das Script.

PHP:
<?php include("auth.php"); 
if (!isset($_POST["sub"])) {
	echo "<form action=\"$_SERVER[PHP_SELF]?seite=optionen\" method=\"post\">\n";
	echo "<table width=\"90%\" border=\"0\" cellspacing=\"0\" cellpadding=\"4\">\n";
	$optionen_sql = "SELECT * FROM config";
	$optionen_result = mysql_query($optionen_sql);
	while ($row = mysql_fetch_assoc($optionen_result)) {
		echo "<tr>\n";
		echo "<td width=\"20%\">$row[name]</td>\n";
		echo "<td><input type=\"text\" name=\"$row[parameter]\" value=\"$row[wert]\" />\n";
		echo "</tr>\n";
		echo "<tr>\n";
		echo "<td>&nbsp;</td><td class=\"opt_beschreibung\">$row[beschreibung]</td>\n";
		echo "</tr>\n";
	}
	echo "</table>\n";
	echo "<input type=\"submit\" name=\"sub\" value=\"Speichern\" />";
	echo "</form>\n";
	
} else {

	$optionen_sql2 = "SELECT * FROM config";
	$optionen_result2 = mysql_query($optionen_sql2);
	while ($row = mysql_fetch_assoc($optionen_result2)) {
		mysql_query("UPDATE config SET wert='".$_POST["$row[parameter]"]."' WHERE parameter=$row[parameter]");
	}
	echo "<a href=\"$_SERVER[PHP_SELF]?seite=optionen\">Weiter</a>";
}

?>

in der auth.php ist nur ne abfrage ob die Session noch gestartet ist.

Hoffe ihr könnt mir helfen.

MfG
Andre
 

Duddle

Posting-Frequenz: 14µHz

AW: UPDATE in Mysql klappt nicht so ganz

bis auf das Eitnragen in der Datenbank.

Hoffe ihr könnt mir helfen.

Du trägst nirgendwo was ein, in deinem Script ist kein INSERT-Statement. Du postest auch keine Fehlermeldungen (die du natürlich nicht bekommst, weil du mysql_error() nicht benutzt).
Ohne Fehlermeldung kann von nur erraten werden, was überhaupt falsch laufen könnte, und ich hab meine Glaskugel gerade verlegt.


Duddle
 

progfrog

programming & 3d

AW: UPDATE in Mysql klappt nicht so ganz

in deinem Script ist kein INSERT-Statement
Wie ich dem Titel des Threads entnehmen meint er wohl den in der fünftletzten Zeile ausgeführten UPDATE Befehl.

Allerdings hat Duddle recht das man ohne Fehlermeldung nicht viel mit dem Skript anfangen kann.
Was funktioniert denn nicht. Bekommst du Parser Errors oder ist im SQL etwas falsch. Wenns nicht bei PHP liegt bau mal eine Mysql Fehlerabfrage ein.
So in diese Richtung:
PHP:
<?php
$sql = 'SELECT etwas FROM etwas_anderes'; // ...
mysql_query($sql) OR die('Es trat ein MysqlFehler auf.<br/>'.mysql_error().'<br/>Query<br/>'.$sql;

//Oder eben so
if(!mysql_query($sql)) die('...');
?>
Hoffe mal dich auch zum denken angeregt und nicht wieder zuviel einfach so serviert habe ;)

Gruß progfrog
 

Zeiflex

Noch nicht viel geschrieben

AW: UPDATE in Mysql klappt nicht so ganz

Hallo,
okay vllt ist Eintragen der Falsche ausdruck aber bei dem UPDATE wird ja auch was in die Datenbank eingetragen. progfrog hat da vollkommen recht. Ich habe einfach mal mysql_error() benutzt. Und siehe da, habe den Fehler gefunden und jetzt funktionierts. Hätte ich auch echt selber drauf kommen mal den Fehler anzeigen zu lassen. Schuldigung..
Danke für die Tipps ;)

MfG
Andre
 

sokie

Mod | Web

AW: UPDATE in Mysql klappt nicht so ganz

Und siehe da, habe den Fehler gefunden und jetzt funktionierts.
hallo Andre,
nun bin ich doch ein bisschen neugierig,
ich hab zwar nur flüchtig draufgesehen, aber der Ausdruck .$_POST["$row[parameter]"].
scheint mir als eine Fehlerquelle in Frage zu kommen. Wie hast du es gelöst?
 

Zeiflex

Noch nicht viel geschrieben

AW: UPDATE in Mysql klappt nicht so ganz

Ne daran lag es jetzt nicht direkt. Das problem war die WHERE clausel, weil das Feld so nciht einduetig bestimmt werden konnte.... was komisch war, weils eigentlich hätte klappen müssen. Jetzt nehme ich die ID, und habe noch ein paar sicherheitsfunktionen eingebaut. Sieht jetzt so aus und klappt einwandfrei
PHP:
while ($row = mysql_fetch_assoc($optionen_result2)) {
		$wert = addslashes(htmlspecialchars($_POST["$row[id]"]));
		mysql_query("UPDATE config SET wert='$wert' WHERE id=$row[id]");
	}
 

sokie

Mod | Web

AW: UPDATE in Mysql klappt nicht so ganz

Sieht jetzt so aus und klappt einwandfrei
PHP:
while ($row = mysql_fetch_assoc($optionen_result2)) {
        $wert = addslashes(htmlspecialchars($_POST["$row[id]"]));
        mysql_query("UPDATE config SET wert='$wert' WHERE id=$row[id]");
    }
[/quote]
tja, da lernt man nicht aus. ich hätte gedacht, dass der zugriff auf $row[id] grundsätzlich als string so $row['id'] geschrieben werden müsste...
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
175.189
Beiträge
2.582.077
Mitglieder
67.259
Neuestes Mitglied
SaschMasch1312
Oben