Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Ajax使用PDO发送输入文件图像_Php_Jquery_Ajax_Pdo_Ajaxform - Fatal编程技术网

Php Ajax使用PDO发送输入文件图像

Php Ajax使用PDO发送输入文件图像,php,jquery,ajax,pdo,ajaxform,Php,Jquery,Ajax,Pdo,Ajaxform,经过多次研究,我似乎无法找到我的代码的问题,我希望任何人都能帮助我。我的问题是,插入后我似乎无法显示/获取图像: 我的表格 myinsert.php show.php中有一个输入错误,缺少双引号,请回答。哪里在我的['image']中,它应该是[image]?再次感谢你,我已经给出了答案。您得到这个小图像是因为它是浏览器解释为图像的文件名。您必须输出文件的实际内容。对不起,我弄错了。您正在保存文件内容,因此一切正常。我会选择将文件保存在目录中,而不是将其内容保存在db中。可能是你问题的解决办法

经过多次研究,我似乎无法找到我的代码的问题,我希望任何人都能帮助我。我的问题是,插入后我似乎无法显示/获取图像:

我的表格 myinsert.php
show.php中有一个输入错误,缺少双引号,请回答。哪里在我的['image']中,它应该是[image]?再次感谢你,我已经给出了答案。您得到这个小图像是因为它是浏览器解释为图像的文件名。您必须输出文件的实际内容。对不起,我弄错了。您正在保存文件内容,因此一切正常。我会选择将文件保存在目录中,而不是将其内容保存在db中。可能是你问题的解决办法
<form enctype="multipart/form-data" id="form" action="insert.php" method="post" name="changer">
Name <input type="text" name="name" placeholder="First name"/> </br>
<input name="image" accept="image/jpeg" type="file">
<input value="Submit" name="submitbtn" type="submit">
</form>
$('#form').on('submit',(function(e) 
{
  e.preventDefault();
  $.ajax({
  url: 'insert.php',
  type: "POST",
  data:  new FormData(this),
  contentType: false,
  cache: false,
  processData:false,
  success: function()
  {
    alert ("ok");

  },
  error: function() 
  {
    alert ("error");
  }                  
 });
}));
<?php

$pdo = new PDO("mysql:host=localhost;dbname=binary", "root", "pass");
if(!$pdo)
{
    die('Erro ao criar a conexão');
    echo "db error!";
}
else
{
   $statement = $pdo->prepare('INSERT INTO tbl_images (image,name) VALUES (:image,:name)');

   if (isset($_FILES['image'])) 
   { 
      echo "entrou no file";
      // Temporary file name stored on the server
      $tmpName  = $_FILES['image']['tmp_name'];  
      $name = $_POST['name'];

      // Read the file 
      $fp      = fopen($tmpName, 'r');
      $data = fread($fp, filesize($tmpName));
      $data = addslashes($data);
      fclose($fp);

      $statement->bindParam(':image', $data);
     $statement->bindParam(':name', $name);

   if($statement->execute())
   {
      echo "update";
   }
   else
   {  
      echo "no update";
   }          
  }
}
?>
<?php

$pdo = new PDO("mysql:host=localhost;dbname=binary", "root", "pass");
if(!$pdo)
{
   die('Erro ao criar a conexão');
}
else
{
    $verb = $_SERVER["REQUEST_METHOD"];

    if ($verb == "GET") 
    {
        header('Content-type: image/jpg');

        $statement = $pdo->query("SELECT * FROM tbl_images");
        $result = $statement->fetch(PDO::FETCH_ASSOC);
        $statement->execute();

        $img = $result['image'];

        echo $img;
    }
}
?>