kostenloser Webspace werbefrei: lima-city


Fehlersuche

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    d******f

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. " .$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
  4. Autor dieses Themas

    d******f

    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
  5. Da $preis nicht alphanumerisch ist, darf/kann es auch nicht als Integer in die Datenbank eingefügt werden (Feld darf also auch nicht INT sein):

    $preiserhoeben = "UPDATE affenkot_kurspreis SET ".$tag." = '".$preis."' WHERE zeit=".$zeit;


    Beitrag zuletzt geändert: 4.2.2011 22:56:23 von fabo
  6. Autor dieses Themas

    d******f

    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());
  7. 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
  8. Autor dieses Themas

    d******f

    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.
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!