Mysql里面储存图片的问题!
Mysql里面储存图片的问题!
楼主zjnbgda(小丸子)2001-12-12 09:10:20 在 其他数据库开发 / MySQL/Postgresql 提问 表结构:
CREATE TABLE binary_data (id int(4) NOT NULL auto_increment,description varchar(50) default NULL,bin_data longblob,filename varchar(50) default NULL,filesize varchar(50) default NULL,filetype varchar(50) default NULL,PRIMARY KEY (id))
程序:下面这段程序,点击submit之后老是得不到理想的执行结果,显示This file has the following Database ID: 0,我看不是语法错误,而是犯了逻辑错误,但是我就是找不出来,以前还是好好的,后来不知怎么搞的就不行了,请问是怎么回事情?
<?php
// 如果提交了表单,代码将被执行:
if($submit){
// 连接到数据库
$conn= MYSQL_CONNECT("localhost", "", "");
$link=mysql_select_db("binary_data");
$data = addslashes(fread(fopen($form_data,"r"),filesize($form_data)));
$sql="INSERT INTO binary_data(description,bin_data,filename,filesize,filetype) VALUES ("$form_description","$data","$form_data_name","$form_data_size","$form_data_type")";
echo $sql;
$result=MYSQL_QUERY($sql);
$id= mysql_insert_id();
echo $id;
print "<p>This file has the following Database ID: <b>$id</b>";
MYSQL_CLOSE();
}else{
// 否则显示储存新数据的表单
?>
<form method="post" action=" <?php echo $PHP_SELF; ?>" enctype="multipart/form-data">
文件说明:<br>
<input type="text" name="form_description" size="40">
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1000000">
<br>上传文件:<br>
<input type="file" name="form_data" size="40">
<p><input type="submit" name="submit" value="submit">
</form>
<?php
}
?>
问题点数:0、回复次数:3Top
1 楼laosan(老三)回复于 2001-12-12 10:04:40 得分 0
$data = addslashes(fread(fopen($form_data,"r"),filesize($form_data)));
建议将上面一句话,分成很多步来调试。
echo $form_data;
echo filesize($form_data);
echo fopen($form_data,"r");
echo fread(fopen($form_data,"r"),filesize($form_data));
echo addslashes(fread(fopen($form_data,"r"),filesize($form_data)));
echo $data;
Top
2 楼zjnbgda(小丸子)回复于 2001-12-12 10:52:54 得分 0
按照laosan(老三)你的建议的话,那$data这个变量怎么得来?调试后还是行不通啊。我贴出的程序是很完整的程序,希望能在我的程序上作修改,谢谢!Top
3 楼zjnbgda(小丸子)回复于 2001-12-13 20:09:59 得分 0
<?
include("db.inc");
$connection=db_connect();
/*
if($s_usrname=="")
{
Header("Location: error.php");
exit;
}
*/
//本页面进行新闻添加的操作
if($submit=="添 加"){
$picpath = $file_name;
$dest = $path.$file_name;
if($file==none)
{
$picpath=" ";
}
else
{
copy($file,$dest);
}
$sql="insert into binary_data(time,picpath,id) values("$time","$picpath","$id")";
$cursor=mysql_query($sql);
if($cursor)
{
$errmessage= "成功添加";
}
else
{
$errmessage="数据库错误,请稍侯再试";
}
}
?>
<form name="form1" method="POST" action="<?echo $php_self;?>" enctype="multipart/form-data">
<div align="center">
<center>
<table border="0" cellspacing="0" width="100%" cellpadding="0">
<tr>
<td width="18%" align="right" height="30" class="unnamed2" valign="middle" bgcolor="#FFFFFF">路径:</td>
<td width="82%" height="30" bgcolor="#FFFFFF">
<input type="file" name="file" size="20">
</td>
</tr>
</table>
</center>
</div>
<div align="center">
<center>
<p>
<input type="submit" value="添 加" name="submit" class="unnamed5">
<input type="reset" value="清 除" name="reset" class="unnamed5">
</p>
</center>
</div>
</form>
已经解决了。Top
-
相关文章
2秒记住本站域名
玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn
