PHP插入和显示图像

时间:2015-07-06 08:28:45

标签: php

我正在尝试使用php

开发php页面以将图像插入MySql数据库

我想点击按钮'保存'然后在DB中插入图像

我怎么做?

<?php
define("DB_SERVER", "localhost");
define("DB_USER", "root");
define("DB_PASS", "");
define("DB_NAME", "XXXXX");
$connection = mysql_connect(DB_SERVER,DB_USER,DB_PASS);
if (!$connection) {
    die("Database connection failed: " . mysql_error());
}

$db_select = mysql_select_db(DB_NAME,$connection);
if (!$db_select) {
    die("Database selection failed: " . mysql_error());
}
if(isset($_POST['Register_Button']))
{
   $Fname=$_POST['Fname'];
   $Lname=$_POST['Lname'];

   insert First Name, Last Name, Image Name, Image
}
?>
<form method="post">
First Name: <input type="text" name="Fname" >
Last Name: <input type="text" name="Lname" >
<input type="submit" Name="Register_Button" value="Save">
</form><!-- form -->

我在数据库中的表:

Id (INT) AUTO_INCREMENT
FName varchar(50)
LName varchar(50)
PicName varchar(25)
image   blob 

如何在MySQL php中插入和显示图像

2 个答案:

答案 0 :(得分:2)

将图像作为 blob 插入数据库并不总是一个好的解决方案,您可以将图像存储到服务器文件夹中,然后将URL存储在表格列而不是整个图像中。

顺便说一下,要将图像插入数据库,必须将其作为文件指针插入。

if(isset($_FILES['image']) && $_FILES['image']['size'] > 0) {
    $imgName = $_FILES['image']['tmp_name'];
    $filePointer = fopen($imgName, 'rb');
}

sql查询将是

ISERT INTO table (image) VALUES ( $filePointer )

答案 1 :(得分:1)

我已更新您的代码:

使用需要在表单和附加图像字段中使用enctype

$db_select = mysql_select_db(DB_NAME,$connection);
if (!$db_select) {
    die("Database selection failed: " . mysql_error());
}
if(isset($_POST['Register_Button']))
{
   $Fname=$_POST['Fname'];
   $Lname=$_POST['Lname'];

   $imgName = $_FILES['image']['tmp_name'];
   $file_image = fopen($imgName, 'rb');

   if(isset($_FILES['image']) && $_FILES['image']['size'] > 0) {
   $query="insert into table (FName,LName,image) values ('".$Fname."','".$Lname."','".$file_image."')";
   }
}
?>
<form method="post" enctype="multipart/form-data">
First Name: <input type="text" name="Fname" >
Last Name: <input type="text" name="Lname" >
Photo: <input type="file" name="image" >
<input type="submit" Name="Register_Button" value="Save">
</form><!-- form -->