0

首先!,我在网站上调查了很多关于这个标题的类似帖子:“Upload image to mysql using php”,但没有得到我的答案。
我正在编写一个 php 脚本来将图像从 html 表单发布到 mysql 数据库。请帮我修复它,因为它不起作用。tnx


这是html表单

<form name="main_form" action="main.php" method="post" enctype="multipart/form-data">
  <input type="text" name="title" >
  <input type="file" name="img" ><br/>
  <input type="text" name="body" >
  <input type="text" name="link" >
  <input type="text" name="linktext" >
  <input type="submit" value="submit">
</form>

这是 main.php

if(isset($_POST['title'])){
  $sql="INSERT INTO main (title, img, body, link, linktext)
  VALUES
  ('$_POST[title]','','$_POST[body]','$_POST[link]','$_POST[linktext]')";
  if (!mysql_query($sql,$con)){
    die('Error: ' . mysql_error());}
  if ($_FILES['img']['tmp_name'] != ''){
    $image = addslashes(file_get_contents($_FILES['img']['tmp_name']));
    if ($image == ''){
      echo 'Image type not supported';
    } else {
      $query  = "UPDATE main SET img='$image' WHERE title='$title'";
      $result = mysql_query($query);
      var_dump($result);
      if ($result){
        echo 'Image scaled and uploaded';
      } else {
        echo 'Error running the query';}
    }
  }
  $alert='record inserted';
  echo '<script>alert("'.$alert.'");</script>';
};  

数据库中的 img 的 type=BLOB 记录已成功插入数据库,但 img 字段 (BLOB) 中没有任何内容,并且始终为 0 字节。

var_dump($result);

将显示:布尔值 false

我在显示屏上收到此消息:运行查询时出错

请帮忙!
谢谢 :)

4

2 回答 2

1

这是我的错!

很抱歉用这个问题向stackoverflow发送垃圾邮件。真的很抱歉。

我有两个连接到两个数据库。我有一个用户数据库和另一个主数据库。这页纸。错误起源于连接。我通过添加正确的连接字符串变量来更正查询,以便与主表所在的主数据库建立连接。

再次抱歉,非常感谢 Dagon 和 Spiritfyre

于 2012-07-09T07:47:48.260 回答
0

如果已回复,您可以删除帖子。虽然通过表单将图像添加到数据库还有第二个答案:

表单页面:

<form enctype="multipart/form-data" action="insert_image.php" method="post" name="changer">
<input name="image" accept="image/jpeg" type="file">
<input value="Submit" type="submit">
</form>

插入数据库页面:

<?php

  include 'conf.php';

  if ($_FILES["image"]["error"] > 0)
  {
     echo "<font size = '5'><font color=\"#e31919\">Error: NO CHOSEN FILE <br />";
     echo"<p><font size = '5'><font color=\"#e31919\">INSERT TO DATABASE FAILED";
   }
   else
   {
     move_uploaded_file($_FILES["image"]["tmp_name"],"images/" . $_FILES["image"]["name"]);
     echo"<font size = '5'><font color=\"#0CF44A\">SAVED<br>";

     $file="images/".$_FILES["image"]["name"];
     $sql="INSERT INTO database_table (table_column_1, table_column_2) VALUES ('','$file')";

     if (!mysql_query($sql))
     {
        die('Error: ' . mysql_error());
     }
     echo "<font size = '5'><font color=\"#0CF44A\">SAVED TO DATABASE";

   }

   mysql_close();

?>
于 2013-10-23T22:39:17.903 回答