$submit这个是什么?开头就写这个,根本就进不去if里面。换成下面的试试看。
<html>
<head> <title>将图片存在数据库中 </title> </head>
<body>
<?php
//如果提交了表单,执行下面代码 
$submit=$_REQUEST["submit"];
if(isset($submit))
{
//连接到数据库
//(你可能需要调用主机名,用户名和密码)
$host="localhost";
$user="root";
$passwd="";
$conn=mysql_connect($host,$user,$passwd);
mysql_select_db("userstore",$conn);
//addslashes()函数将字串加上斜线
$data=addslashes(fread(fopen($formdata,"r"),filesize($formdata)));
$sql="insert into imagestore(miaoshu,bindata,filename,filesize,filetype)".
"values('$formdesc','$data',‘$formdata_name','$formdata_size','$formdata_type')";
$result=mysql_query($sql,$conn);
$id=mysql_insert_id();
print " <p>This file has the following Database ID: <b>$id </b>";
mysql_close($conn);
}
else
{
//否则显示存储数据的表单
?><form method="post" action=" <?php echo $PHP_SELF;?>" enctype="multipart/form-data">
File Description: <br>
<input type="text" name="formdesc" size="40">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
<br>File to upload/store in database: <br>
<input type="file" name="formdata" size="40">
<p> <input type="submit" name="submit" value="提交">
</form>
<?php
}
?>
</body>
</html> 

解决方案 »

  1.   

    summit那个是没错的,不过楼主的$formdata是个数组
    直接那样用是不行的
    楼主用
    $_FILES["formdata"]试试
    这数组里面有你要的变量
    我看楼主的全局变量好像是开了的
    直接用$formdata是个字符串,是文件在客户端的路径,服务器上是没有这个文件的
    你文件都没有怎么能插入成功呢
    用$_FILES来接收文件变量
    然后你可以把数组打印出来,找你要的对应的变量
    在fopen filesize的时候用临时文件的路径就可以了
      

  2.   

    如果你所说的submit没有错的话,我想问一下,以下这个程序运行后会在页面上显示什么?
    <html>
      <body>
       <form method="POST" name="form" id="form">
       <input type="text" name="name" id="name">
       <input type="submit" name="sub" id="sub" value="submit">
       </form>
      </body>
    </html>
    <?php
      if ($submit)
    {
      echo $submit;
    }
    ?>