我正在尝试使用blob数据类型将图像存储在数据库中。
但我的程序没有将图像存储在数据库中。
码
form.php的:
<form action="upload.php" method="post" enctype="multipart/form-data">
File Name<input type="file" name="image" /><br />
<input type="submit" value="Upload" />
</form>
upload.php的:
<?php
require_once('connection.php');
if(isset($_POST['submit'])){
$image = addslashes(file_get_contents($_FILES[image]['tmp_name']));
$query = "INSERT INTO images ('image') VALUES('".$image."')";
mysql_query($query) or die(mysql_error());
echo "Image id is ".mysql_insert_id();
echo "Image id is ".mysql_insert_id();
}
?>
请解决我的问题..
答案 0 :(得分:3)
BLOB
最多可以存储65535 bytes
。如果您还需要更多考虑使用MEDIUMBLOB
16777215 bytes
或LONGBLOB
4294967295 bytes
。
看看Storage Requirements for String Types。
我的建议是使用LONGBLOB而不是BLOB。 希望它能起作用。
答案 1 :(得分:1)
尝试使用以下代码。
$image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
$query = "INSERT INTO images (image) VALUES('".$image."')";
我认为这次工作很好......
答案 2 :(得分:0)
尝试在fieldName上使用反引号
$image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
答案 3 :(得分:0)
试试这个。这也是存储blob图像的另一种方法。
<强>码强>
$image= $_FILES["image"];
$image= mysql_real_escape_string("$image");
$query = "INSERT INTO images (image) VALUES('".$image."')";
mysql_query($query) or die(mysql_error());
echo "Image id is ".mysql_insert_id();