使用PHP将图像上传到mysql数据库

使用PHP将图像上传到mysql数据库,php,mysql,Php,Mysql,我正在尝试将图像上传到mysql表。选择图像后,它工作正常。但如果不选择图像,则会显示错误消息。我怎样才能修好它 警告:文件\u获取\u内容:文件名在中不能为空 C:\wamp\www\firstdialnew\firstdial\adhandler.php,第23行 您需要检查/验证图像是否已上载,或者不尝试类似的操作 if (!empty($_FILES['image']['name'])) { $image = addslashes(file_get_contents($_FILES

我正在尝试将图像上传到mysql表。选择图像后,它工作正常。但如果不选择图像,则会显示错误消息。我怎样才能修好它

警告:文件\u获取\u内容:文件名在中不能为空 C:\wamp\www\firstdialnew\firstdial\adhandler.php,第23行


您需要检查/验证图像是否已上载,或者不尝试类似的操作

if (!empty($_FILES['image']['name'])) {
   $image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
   $image_name = addslashes($_FILES['image']['name']);
}else{
   $image = '';
   $image_name = '';
}

您需要检查/验证图像是否已上载,或者不尝试类似的操作

if (!empty($_FILES['image']['name'])) {
   $image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
   $image_name = addslashes($_FILES['image']['name']);
}else{
   $image = '';
   $image_name = '';
}
您没有检查$\u文件。请尝试此操作

我建议您将文件上传到一个文件夹中,并将文件名存储在mysql表中

下面是你如何做到这一点的

您没有检查$\u文件。请尝试此操作

我建议您将文件上传到一个文件夹中,并将文件名存储在mysql表中

下面是你如何做到这一点的

你是否补充:

    <form method="POST" enctype="multipart/form-data">
在您的表单enctype=multipart/form data中添加了:

    <form method="POST" enctype="multipart/form-data">
进入您的表单enctype=multipart/form data

尝试以下操作:

 $stype=$_POST['stype'];
     $image_name ='';
     $image='';
     if(!empty($_FILES['image'])) {
     $image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
     $image_name = addslashes($_FILES['image']['name']);
      } 
      if($stype="")
      {
      echo "Please fill all the details";
      }else{
       $sql=mysql_query("INSERT INTO ads
                        (sid,stype,image,image_name)
                        VALUES(NULL,'$stype','$image','$image_name')");
         echo "Details Successfully send";
       }
试试这个:

 $stype=$_POST['stype'];
     $image_name ='';
     $image='';
     if(!empty($_FILES['image'])) {
     $image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
     $image_name = addslashes($_FILES['image']['name']);
      } 
      if($stype="")
      {
      echo "Please fill all the details";
      }else{
       $sql=mysql_query("INSERT INTO ads
                        (sid,stype,image,image_name)
                        VALUES(NULL,'$stype','$image','$image_name')");
         echo "Details Successfully send";
       }

根据我的经验,您应该将图像保存到文件夹ex:public/upload/images/image\u name.png中 并将图像路径保存到数据库中。
这很简单,数据库的大小也不大

根据我的经验,您应该将图像保存到文件夹ex:public/upload/images/image\u name.png中 并将图像路径保存到数据库中。
这很简单,数据库的大小也不大

消息很清楚,您在$\u文件中没有任何内容,显示上载文件的部分您是否尝试转储$\u FILES数组的内容-数组中似乎没有任何内容,这就是为什么您会收到该消息最好将图像保留在服务器中,并将路径存储在数据库中。有几个错误。如果案例不正确;使用不推荐使用的mysql_*函数;使用$\u文件的tmp\u名称;另外,您没有将文件从临时文件夹移动到最终路径,也不应该将图像内容保存在MySQL中;仅保存路径。消息很清楚,您在$\u文件中没有任何内容,显示上载文件的部分您是否尝试转储$\u文件数组的内容-数组中似乎没有任何内容,这就是您获得该消息的原因。最好将图像保存在服务器中,并将路径存储在数据库中。有几个错误。如果案例不正确;使用不推荐使用的mysql_*函数;使用$\u文件的tmp\u名称;另外,您没有将文件从临时文件夹移动到最终路径,也不应该将图像内容保存在MySQL中;只保存路径。您的路径有什么不同answer@RamSharma这是建议使用$\u文件的方法。文件\u获取\u内容是不必要的,应使用移动\u上载的\u文件。您的answer@RamSharma这是建议使用$\u文件的方法。文件内容是不必要的,应该使用移动上传的文件。我觉得他添加此内容是因为他能够保存图像,但如果未选择图像则会出现问题。我觉得他添加此内容是因为他能够保存图像,但如果未选择图像则会出现问题否。您不应该在$\u文件上使用file\u get\u内容。否。您不应该在$\u文件上使用file\u get\u内容。虽然您的建议完全正确,但这不是回答,而是评论。虽然您的建议完全正确,但这不是回答,而是评论。