mysql:
建库;
mysql>create database test;
mysql>use test;
建表:
mysql>create table img(
img longblob
);
mysql>insert into img values('d:\a.jpg');
数据库中最好存图片地址
或者
mysql>insert into img values(load_file('d:/a.jpg'));
图片插入到数据库不是个好方法,如果你确实要存储图片到数据库的话,修改你的sql语句,不可以直接插入的。
INSERT into person(p_id,p_name,p_sex,p_age) value("asdsadssdsadfff","addsdsa","dddd",113);
update person set p_image = LOAD_FILE('D:\incident1.jpg') where p_id = "asdsadssdsadfff";
建议把'D:\incident1.jpg'放在mysl的安装目录里面,避免权限问题。。。
解释:sql必须要有对 'D:\incident1.jpg'文件 和相应的路径 读权限,要不也不可以的。 另外检查LOAD_FILE 函数是否被禁用。这个函数是个危险的函数,很容易利用该函数对数据库攻击。
LOAD_FILE(file_name):
读取file_name文件 并以字符串形式返回,使用这个函数时,file_name必须存在于服务器上,而且是完整路径,sql要具有file_name的读取权限,还有该文件的size必须小于数据库 max_allowed_packet的值,否则读取的值为空。如果文件不存在或者sql没有读权限,那么该函数讲返回null
php调用
mysql_connect("localhost","root","123");
mysql_select_db('test');
//$query="select 查询字段名 from 数据库名 where 查询条件";
//$ret = mysql_query($query, $conn)or die(mysql_error());
$ret=mysql_query("select * from img");
while($row=mysql_fetch_array($ret))
{
echo "";
}
?>