2011-07-31 38 views
0

我想通过使用php的web窗体插入到mysql数据库的小图像。但它不起作用。怎么了?试图插入图像到blob字段

形式:图像

<form action="http://www.yeahthatrocks.com/update2.php" method="post" enctype="multipart/form-data"> 
Game Name: <input name="game_name" type="text" size="25" maxlength="255" /><br></br> 
Release Date: <input name="release_date" type="text" size="25" /><p></p> 
<input type="hidden" name="MAX_FILE_SIZE" value="2000000"> 
Cover Image: <input type="file" name="cover" id="cover"><br><br> 
<input name="upload" type="submit" id="upload" value="upload" /> 
</form> 

插入查询:

$fileName = $_FILES['cover']['name']; 
$tmpName = $_FILES['cover']['tmp_name']; 
$fileSize = $_FILES['cover']['size']; 
$fileType = $_FILES['cover']['type']; 

$fp = fopen($tmpName, 'r'); 
$content = fread($fp, filesize($tmpName)); 
$content = addslashes($content); 
fclose($fp); 

if(!get_magic_quotes_gpc()) 
{ 
$fileName = addslashes($fileName); 
} 

$query = "INSERT INTO games set name='".$fileName."', size='".$fileSize."', type='".$fileType."', content='".$content."'"; 
mysql_query($query) ; 
+0

我是半个倾斜问你,如果你的电脑开启时:)你得到一些错误讯息? – aib

+0

是的电脑在...大声笑。没有错误信息,只是没有文件上传。 –

回答

0

这里有一个简单的例子,一直为我工作:

# create table blobs(id int(11) NOT NULL auto_increment, myblob longblob, PRIMARY KEY (id)); 


$host  = "localhost"; 
$username = "blobtest"; 
$password = "blobtest"; 
$database = "blobtest"; 

$link_id = @mysql_connect($host, $username, $password); 
@mysql_select_db($database); 

$blob = file_get_contents('stripe.png'); 
$bdata = addslashes($blob); 

$qry = "INSERT INTO blobs VALUES(NULL, '$bdata')"; 
mysql_query($qry);