虽然在sql数据库中插入,但图像没有显示在php中

时间:2013-11-30 23:05:26

标签: sql phpmyadmin

这是我的代码,有一个带有diff列的表

CREATE TABLE IF NOT EXISTS `pcategories` (
  `categoryid` int(11) NOT NULL AUTO_INCREMENT,
  `catimage` varbinary(max) not null,
  PRIMARY KEY (`categoryid`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=14 ;

我想在" catimage'列中插入图片。我试过这两个..请帮我解决这个问题

INSERT INTO `pcategories` (`categoryid`, `catimage`) VALUES
(9, 'p2.gif');


INSERT INTO `pcategories` (`categoryid`, `catimage`) VALUES
SELECT 9, 'Laptop Computers', BulkColumn 
FROM Openrowset( Bulk 'C:\wamp\www\OnlineBiddingSystem\images\p2.gif', Single_Blob) as EmployeePicture

亲切地帮助我

3 个答案:

答案 0 :(得分:1)

您的INSERT告诉MySQ它会将值插入两列(categoryidcatimage):

NSERT INTO `pcategories` (`categoryid`, `catimage`) VALUES

但是,您可以继续添加三个值(9Laptop computers和图片):

SELECT 9, 'Laptop Computers', BulkColumn 
FROM Openrowset( Bulk 'C:\wamp\www\OnlineBiddingSystem\images\p2.gif', 
  Single_Blob) as EmployeePicture

如果从INSERT中删除第二列('笔记本电脑'),应该可以解决这个问题:

INSERT INTO `pcategories` (`categoryid`, `catimage`) VALUES
SELECT 9, BulkColumn 
FROM Openrowset( Bulk 'C:\wamp\www\OnlineBiddingSystem\images\p2.gif', Single_Blob) 
  as EmployeePicture

答案 1 :(得分:0)

尝试插入

$sql = "INSERT INTO pcategories (categoryid, catimage) VALUES (9, 'p2.gif')";

答案 2 :(得分:0)

我从php中将大量图像保存到db:

base64_encode(file_get_contents($imageName));