Ik ben bezig met een script om een plaatje in een database te stoppen en er weer uit te halen. Het plaatje eruit halen lukt goed, alleen het erin stoppen is een probleem.
Als ik de functie aanroep krijg ik een melding van MySQL dat er een error zit in mijn syntax bij '' op de eerste regel. Maar ik heb alles geprobeerd volgens mij, en ben er al 5 uur mee bezig. Erg frusterend! @#$@#
Mijn SQL-query:
<?php
$this->id = "NULL";
$this->name = $_FILES["file"]["name"];
$this->type = $_FILES["file"]["type"];
$this->length = $_FILES["file"]["size"];
$this->content = $_FILES["file"]["tmp_name"];
// first, open the image
$fp = fopen($this->content, "r")
or die ("<TT><B>Could not open the image.</B></TT>");
if($fp) {
// then - if the image could be opened - read its contents
$this->content = fread($fp,filesize($this->content))
or die ("<TT><B>Could not read the image.</B></TT>");
}
// for neat working, close the file again
fclose($fp)
or die ("<TT><B>Could not close the image.</B></TT>");
// insert the image that has just been opened and its properties in the database
$sql = "INSERT INTO images (id, name, type, length, file) ";
$sql .= "VALUES ('";
$sql .= $this->id . "', '" ;
$sql .= $this->name . "', '" ;
$sql .= $this->type . "', '" ;
$sql .= $this->length . "', '" ;
$sql .= $this->content . "');";
//perform the actual query on the database
$result = mysql_query($sql)
or die ("<TT><B>An error occured while entering the information in the database.<BR>Foutmelding: " . mysql_error() . "</B></TT>");
?>
Zoals je kunt zien, is dit object georienteerd. Het script werkte zonder objecten eerst wel redelijk, maar kreeg soms ook die eerdergenoemde melding.
Denk dat het misschien ligt aan het OOP. Weet niet of je superglobals kan gebruiken in binnen een klasse/functie?
Als dat niet zo is, is er dan misschien een omweg voor?
Hopelijk kan iemand helpen?!
Vriendelijke groet,
Kasper
690 views