Update Mysql
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
code
datum
erfolgreich bearbeitet code
fonds
funktionieren
gehandhabt danke
jemand
kurs
kurz sagen
limit
nutz
ordern
sagen
set
setzen
string
tageshoch
tagestief
update
vorgenommen code
-
Hallo,
ich möchte eine Zeile in meiner Datenbank updaten. Nur will mein Code nicht funktionieren. Es erscheint keine Fehlermeldung, aber die Änderung wird auch nicht vorgenommen.
<? $name = $_POST[wertbearbeiten]; $fonds = $_POST[fonds]; $datum = $_POST[Datum]; $kurs = $_POST[Kurs]; $tageshoch = $_POST[Tageshoch]; $tagestief = $_POST[Tagestief]; $dbname="***"; $dbhost="mysql.lima-city.de"; $dbuser="***"; $dbpass="***"; $link = mysql_connect($dbhost,$dbuser,$dbpass); mysql_select_db($dbname); $sql = "SELECT * FROM `$fonds` WHERE 1 order by `Datum` asc limit $name"; $result = mysql_query ($sql, $link); $i = 1; while ($i <= $name){ $row = mysql_fetch_array ($result); $i = $i + 1; } $datumalt = $row[Datum]; $sql2 = "UPDATE `$fonds` SET `Datum` = $datum, SET `Kurs` = $kurs, SET `Tageshoch` = $tageshoch, SET `Tagestief` = $tagestief WHERE `Datum` = $datumalt"; $eintragen2 = mysql_query($sql2, $link); ?> <? echo $fonds ?>  wurde erfolgreich bearbeitet!<br>
Es liegt vermutlich an den Hochkommas. Kann mir jemand bitte kurz sagen, wann ich die setzen muss und wann nicht? In Tutorials wird es mal so und mal so gehandhabt... Danke -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Sers
versuch mal nur ' um die Werte rum zu setzen:
$sql2 = "UPDATE ".$fonds." SET Datum = '".$datum."', Kurs = '".$kurs."', Tageshoch = '".$tageshoch."', Tagestief = '".$tagestief.'" WHERE Datum = '".$datumalt."'";
Außerdem musst du nur einmal SET schreiben.
am besten schreibst du, wenn du fehler in SQL zeug hast
mysql_query("SQL-STRING")or die(mysql_error());
"or die(mysql_error());" sorgt dafür das es dir ne fehlermedlung rausgiebt.
Nutze es aber immer nur wärend der entwicklung, dass heißt, lösche es, sobald du fertig bist.
Grüsse
Color -
Ich muss sagen... Der Code ist mehr als fehlerhaft und weniger als vorteilhaft ;)
$sql = "SELECT * FROM `$fonds` WHERE 1 order by `Datum` asc limit $name";
Spätestens hier ist das ganze Script nicht mehr lauffähig, da MySQL garnicht weiß, was du eigentlich von ihm willst.
Ich habe nur kurz drüber geschaut und einige kleine Änderungen vorgenommen. Ob es funktioniert, wirst du erfahren, sobald du ???? gegen den Namen der Spalte ausgetauscht hast, aus der selektiert werden soll.
<? $name = $_POST['wertbearbeiten']; $fonds = $_POST['fonds']; $datum = $_POST['Datum']; $kurs = $_POST['Kurs']; $tageshoch = $_POST['Tageshoch']; $tagestief = $_POST['Tagestief']; $dbname="***"; $dbhost="mysql.lima-city.de"; $dbuser="***"; $dbpass="***"; $link = mysql_connect($dbhost,$dbuser,$dbpass); mysql_select_db($dbname); $result = mysql_query("SELECT * FROM ".$fonds." WHERE ????? = '1' ORDER BY Datum ASC limit ".$name) or die(mysql_error()); $i = 0; while ($i++ <= $name) { $row = mysql_fetch_array ($result); } $datumalt = $row['Datum']; mysql_query("UPDATE ".$fonds." SET Datum = '".$datum."', Kurs = '".$kurs."', Tageshoch = '".$tageshoch."', Tagestief = '".$tagestief."' WHERE Datum = ".$datumalt) or die(mysql_error()); echo $fonds." wurde erfolgreich bearbeitet!<br />"; ?>
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage