你好,我又来了另一个问题。 当我按照教程时,我试图将图像保存到我的数据库中。这一切都很好,花花公子没有错误消息,但由于某种原因图像拒绝存储。什么都没有出现!
<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,name,image: int(自动增量),varchar(40),mediumblob(因为大小)
唯一奇怪的是“file_get_contents”被涂黑了(我使用notepad ++)。 否则我没有看到什么错,我检查了指南和诸如此类的东西,但事实是我需要以另一种形式使用这种方法,其中存储了大量信息(15个字段包括描述)。我对此仍然很陌生,很难知道要保留什么以及如何编写最好的方法。但无论如何,如果你能帮助我,那将是非常棒的。 如果您对任何事情有任何疑问,或只是提出一些提示,请发表评论。
答案 0 :(得分:1)
您的表名blob应该用反斜杠包围,而不是撇号。
但是,我建议您将此表的名称更改为MySQL中不是保留字的内容。