使用Dreamweaver中的buildin函数将图像插入数据库

时间:2017-03-03 01:32:34

标签: php mysql image dreamweaver

我想使用以下查询将图像插入数据库。这是查询示例的一部分。

$image = file_get_contents($_FILES['image']['tmp_name']);
         $image = mysql_real_escape_string($image);
          $insertSQL = sprintf("INSERT INTO company (Name, GSTNo, GSTRegDate, RegNo, Address1, Address2, Address3,Address4, PostCode, City,
           CountryID, StateID,  TelNo, FaxNo, Website, Email, CustomerLogo) VALUES (%s, %s, %s, %s, %s, %s,%s, %s, %s,%s, %s, %s, %s, %s, %s, %s,$image)",
                               GetSQLValueString($_POST['Name'], "text"),
                               GetSQLValueString($_POST['GSTNo'], "text"),
                               GetSQLValueString($_POST['GSTRegDate'], "date"),
                               GetSQLValueString($_POST['RegNo'], "text"),
                               GetSQLValueString($_POST['Address1'], "text"),
                               GetSQLValueString($_POST['Address2'], "text"),
                               GetSQLValueString($_POST['Address3'], "text"),
                               GetSQLValueString($_POST['Address4'], "text"),
                               GetSQLValueString($_POST['Postcode'], "text"),
                               GetSQLValueString($_POST['City'], "text"),
                               GetSQLValueString($_POST['country'], "text"),
                               GetSQLValueString($_POST['State'], "text"),
                               GetSQLValueString($_POST['Tel'], "text"),
                               GetSQLValueString($_POST['Fax'], "text"),
                               GetSQLValueString($_POST['Website'], "text"),
                               GetSQLValueString($_POST['Email'], "text"));

对于customerLogo,我应该如何键入以插入图像?我在使用之前尝试过 GetSQLValueString($ _ POST ['image'],“longblob”));但似乎无法运作。

HTML(用于上传图片)

  <tr>
        <td align="right">
        <label><strong>Image:</strong></label></td>
        <td>
          <input type="file" name="image" id="image" ><br>
        </td>
        </tr>
    <tr>

并且有一个单击并插入的按钮。

1 个答案:

答案 0 :(得分:0)

存储图像的最佳方法是将它们直接存储在磁盘上,只保存数据库中的位置。

以下是一个例子:

$image = uniqid() . '.jpg';
file_put_contents($image, $_FILES['image']['tmp_name']);
$insertSQL = sprintf("INSERT INTO company (Name, GSTNo, GSTRegDate, RegNo, Address1, Address2, Address3,Address4, PostCode, City,
           CountryID, StateID,  TelNo, FaxNo, Website, Email, CustomerLogo) VALUES (%s, %s, %s, %s, %s, %s,%s, %s, %s,%s, %s, %s, %s, %s, %s, %s,$image)",
                               GetSQLValueString($_POST['Name'], "text"),
                               GetSQLValueString($_POST['GSTNo'], "text"),
                               GetSQLValueString($_POST['GSTRegDate'], "date"),
                               GetSQLValueString($_POST['RegNo'], "text"),
                               GetSQLValueString($_POST['Address1'], "text"),
                               GetSQLValueString($_POST['Address2'], "text"),
                               GetSQLValueString($_POST['Address3'], "text"),
                               GetSQLValueString($_POST['Address4'], "text"),
                               GetSQLValueString($_POST['Postcode'], "text"),
                               GetSQLValueString($_POST['City'], "text"),
                               GetSQLValueString($_POST['country'], "text"),
                               GetSQLValueString($_POST['State'], "text"),
                               GetSQLValueString($_POST['Tel'], "text"),
                               GetSQLValueString($_POST['Fax'], "text"),
                               GetSQLValueString($_POST['Website'], "text"),
                               GetSQLValueString($_POST['Email'], "text"));

您可能还想检查MIME,并确保只让用户上传图片并使用正确的扩展名(jpg,png,gif等)提供。