1

你好,我又来这里了另一个问题。当我按照教程进行操作时,我尝试将图像保存到我的数据库中。这一切都很好,没有错误消息,但由于某种原因,图像拒绝存储。什么都没有出现!

<html>
<body>

<form action="test.php" method="POST" enctype="multipart/form-data">
<input type="file" name="image"><input type="submit" name="submit" value="Upload" />
</form>
<?php

if(isset($_POST['submit'])) {

mysql_connect("localhost","root","") or die("Could not find database!");
mysql_select_db("Image") or die("Could not find database!");

$imageName = mysql_real_escape_string($_FILES["image"]["name"]);
$imageData = mysql_real_escape_string(file_get_contents($_FILES["image"]["tmp_name"]));
$imageType = mysql_real_escape_string($_FILES["image"]["type"]);

if(substr($imageType,0,5) == "image") {
    mysql_query("INSERT INTO 'blob' VALUES ('','$imageName','$imageData')");
    echo "File uploaded!";
}
else
{
    echo "Only images are allowed!";
}

}

?>
</body>
</html>

数据库:id,名称,图像:int(自动增量),varchar(40),mediumblob(因为大小)

唯一奇怪的是“file_get_contents”被涂黑了(我使用记事本++)。否则我看不出有什么问题,我检查了指南等等,但问题是我需要以另一种存储大量信息的形式使用此方法(包括描述在内的 15 个字段)。我对此仍然很陌生,很难知道要保留什么以及如何以最佳方式编写。但无论如何,如果你能帮助我,那就太棒了。如果您对任何事情有任何疑问或只是一些提示,请发表评论。

4

1 回答 1

1

您的表名 blob 应该被反引号包围,而不是撇号。

但是,我建议您将此表的名称更改为不是 MySQL 中的保留字的名称。

于 2013-07-13T20:40:56.690 回答