php - 如何将图像插入数据库?
问题描述
我创建 CMS,我想将图像插入数据库。当我单击提交按钮时,程序会插入数据库标题、内容,但没有图像。在注册之前,一个程序将一个图像插入到数据库中。我不知道为什么不知道。我可能会犯任何我找不到的字面错误。
require_once('database.php');
class dodawanie extends database
{
private $errors ='';
private $img;
public function get_image()
{
return $this->img;
}
public function set_image($img)
{
$this->img = $img;
}
public function insert()
{
$field1 = $this->get_title();
$field2 = $this->get_content();
$field3 = $this->get_image();
$field4 = date('Y-m-d H:i:s');
if(empty($this->errors))
{
$sql = "INSERT INTO wiadomosci(`tytul`, `news`, `zdjecie`, `data_dodania`) VALUES('".$field1."', '".$field2."', '".$field3."', '".$field4."')";
$result = $this->connect()->query($sql);
}
}
if(isset($_POST['submit']))
{
$add = new dodawanie();
$fault3 = $add->set_image($_POST['avatar']);
echo $abc3 = $add->get_image();
$inser = $add->insert();
解决方案
首先要在 MySQL 中插入图像,我们必须在数据库中创建一个表。
运行 MYSQL 命令
CREATE TABLE `image` (
`image` LONGBLOB NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
然后如果 index.php 包含允许用户选择要上传的图像文件的 HTML 表单,则在其中插入
<!DOCTYPE html>
<html>
<head>
<title>Insert Image in MySql using PHP</title>
</head>
<body>
<?php
$msg = '';
if($_SERVER['REQUEST_METHOD']=='POST'){
$image = $_FILES['image']['tmp_name'];
$img = file_get_contents($image);
$con = mysqli_connect('localhost','root','','admin') or die('Unable To connect');
$sql = "insert into images (image) values(?)";
$stmt = mysqli_prepare($con,$sql);
mysqli_stmt_bind_param($stmt, "s",$img);
mysqli_stmt_execute($stmt);
$check = mysqli_stmt_affected_rows($stmt);
if($check==1){
$msg = 'Image Successfullly UPloaded';
}else{
$msg = 'Error uploading image';
}
mysqli_close($con);
}
?>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="image" />
<button>Upload</button>
</form>
<?php
echo $msg;
?>
</body>
</html>
save as index.php and run
推荐阅读
- django - 查询作为字典列表的 Django JSONFields
- python - Python Web Scraping - 如何抓取这种类型的网站?
- python - 如何在单击 tkinter 按钮之前暂停代码执行?
- sympy - 从 Sympy 到数组的多项式系数
- node.js - Node.js 应用程序——如何为生产部署构建和打包?
- arrays - 有没有办法让这段代码运行得更快?
- excel - 如何在excel中使用索引匹配查找部分单词?
- javascript - 事件发射器与并行执行的承诺?
- python - 当变量尚未在 python 中声明时初始化变量
- c++ - 类型不可知的抽象以使用相同的运行时接口处理正向和反向迭代器和范围?