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
看你的表,图片不是保存在mysql数据库中,数据库中只是保存了图片的路径。想保存的数据库中必须定义字段为longblob类型如:`image` longblob ,然后
<?$connect = MYSQL_CONNECT( "localhost", "root", "admin") or die("Unable to connect to MySQL server")
mysql_select_db("blogsystem") or die("Unable to select database")
$data = addslashes(fread(fopen($form_data, "r"), filesize($form_data)))
$result=MYSQL_QUERY( "INSERT INTO ccs_image (description,bin_data,filename,filesize,filetype) VALUES ('$form_description','$data','$form_data_name','$form_data_size','$form_data_type')")
$id= mysql_insert_id()
print "<p>This file has the following Database ID: <a href='get_data.php?id=$id'><b>$id</b></a>"
MYSQL_CLOSE()
?>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)