我想使用以下查询将图像插入数据库。这是查询示例的一部分。
$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>
并且有一个单击并插入的按钮。
答案 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等)提供。