Fehlersuche
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
code
danken
date
fehler
feld
graph
helfen
inhalt
jahr
monat
preis
problem
punkt
set
spalte
spalten
tabelle
tag
update
zahl
-
Leute ich suche einen tag/fehler">Fehler,
ich würde euch sehr danken, wenn ihr mir helfen könnt.
$tag = date("j"); $monat = date("n"); $jahr = date("Y"); $zeit = $monat . $jahr; $preiserhoeben="update affenkot_kurspreis set " .$tag. "=" .$preis. " where zeit=" .$zeit. ""; mysql_query($preiserhoeben) or die(mysql_error()); ?>
Ich hoffe ihr könnt mir helfen.
MFG Marvin
Beitrag zuletzt geändert: 4.2.2011 21:48:03 von das-dorf -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
" .$tag. "=" .$preis. "
Existiert für jeden Tag eine Spalte in der Tabelle? Wenn nicht, Fehler gefunden - Zumal keiner weiß, was für eine Fehlermeldung überhaupt erscheint.
zeit=" .$zeit. "";
Selbst wenn das ginge, macht man das nicht...
zeit=" .$zeit;
Beitrag zuletzt geändert: 4.2.2011 22:03:22 von fabo -
Es gibt für den Tag immer eine neue Spalte...sonst hätte ich das Problem nicht, war aber mein Fehler das nicht zu beschreiben...
Also die Variable Tag muss so geschrieben werden oder?
[EDIT:]Der Fehler:
Fehler in der SQL-Syntax. Bitte die korrekte Syntax im Handbuch nachschlagen bei '4=11.81 where zeit=22011' in Zeile 1
Beitrag zuletzt geändert: 4.2.2011 22:08:14 von das-dorf -
Also die Variable ist eine Zahl und beschriebt die Tage des Monats also zwischen 1-31.
Habe es nun geschafft, falls es jemanden Interessiert: Schreibt die Tabellen und Spaltennamen IMMER zwischen zwei ` und die Variablen, welche in die Spalten eingetragen werde sollen, zwischen zwei ' .
Das ist der funktionierende CODE:
$tag = date("j"); $monat = date("n"); $jahr = date("Y"); $zeit = $monat . $jahr; mysql_query("UPDATE affenkot_kurspreis set `$tag`='$preis' WHERE `zeit`='$zeit'") or die(mysql_error());
-
Das stimmt so nicht. Sogenannte Backticks sind nur dann nötig, wenn die Spalten einen durch MySQL reservierten Begriff beinhalten.
$preis ist KEINE Zahl, also kein INT. Einen Punkt wirst du in keinem Integer-Feld unterbringen können. $preis beinhaltet aber einen Punkt, also muss $preis zwischen zwei Hochkommas in ein Varchar-Feld (beispielsweise) eingefügt werden und lediglich das ist der Trick.
Beitrag zuletzt geändert: 4.2.2011 23:04:48 von fabo -
Ich habe allerdings nun ein neues Problem....
Es geht darum die eingetragenen Werte wieder aus zu lesen und als Graph anzeigen zu lassen.
<?php header("Content-type: image/png"); $imgWidth = '460'; $imgHeight = '250'; $theImage = imagecreate($imgWidth, $imgHeight); $colorGrey = imagecolorallocate($theImage, 215, 215, 215); $colorBlue = imagecolorallocate($theImage, 0, 50, 255); include "connect.php"; $monat = date("n"); $jahr = date("Y"); $zeit = $monat . $jahr; $inhalt3="SELECT * from affenkot_kurspreis where zeit='$zeit'"; $inhalt2=mysql_query($inhalt3) or die("Could not get inhalt stats"); $inhalt=mysql_fetch_array($inhalt2); $wert[0] = "0"; $wert[1] = $inhalt['1']; $wert[2] = $inhalt['2']; $wert[3] = $inhalt['3']; $wert[4] = $inhalt['4']; $wert[5] = $inhalt['5']; $wert[6] = $inhalt['6']; $wert[7] = $inhalt['7']; $wert[8] = $inhalt['8']; $wert[9] = $inhalt['9']; $wert[10] = $inhalt['10']; $wert[11] = $inhalt['11']; $wert[12] = $inhalt['12']; $wert[13] = $inhalt['13']; $wert[14] = $inhalt['14']; $wert[15] = $inhalt['15']; $wert[16] = $inhalt['16']; $wert[17] = $inhalt['17']; $wert[18] = $inhalt['18']; $wert[19] = $inhalt['19']; $wert[20] = $inhalt['20']; $wert[21] = $inhalt['21']; $wert[22] = $inhalt['22']; $wert[23] = $inhalt['23']; $wert[24] = $inhalt['24']; $wert[25] = $inhalt['25']; $wert[26] = $inhalt['26']; $wert[27] = $inhalt['27']; $wert[28] = $inhalt['28']; $wert[29] = $inhalt['29']; $wert[30] = $inhalt['30']; $countBalken = count($wert); for($i=0;$i<$countBalken;$i++){ if($maxHeight < $wert[$i]){ $maxHeight = $wert[$i]; } } $dynWidth = round(($imgWidth-2) / ($countBalken-1), 0); @$dynHeight = ($imgHeight-1) / $maxHeight; for ($i=0; $i<$countBalken; $i++){ $aktNewSize = @round($dynHeight * $wert[$i]); $aktNewSize2 = @round($dynHeight * $wert[$i+1]); if($i+1 < $countBalken){ imageline($theImage, $i*$dynWidth, ($imgHeight-$aktNewSize), ($i+1)*$dynWidth, ($imgHeight-$aktNewSize2), $colorBlue); } } imagepng($theImage); imagedestroy($theImage); ?>
Einen Fehlercode gibt es leider nicht... Alles was angezeigt wird ist ein Graph, welcher falsche Werte enthält. Abgefragt wird die richtige Spalte nur gibt es anscheinend einen Fehler, beim übergeben des Inhaltes an den Graphen. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage