Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 上传和查询图像_Php_Html_Mysql_Sql - Fatal编程技术网

Php 上传和查询图像

Php 上传和查询图像,php,html,mysql,sql,Php,Html,Mysql,Sql,我目前正试图将图像从HTML表单上传到MySQL BLOB列 以下是我的HTML代码的当前相关代码(输入文件类型只是一个占位符,我当然会将其更改为任何必须的类型。这些值是表格数据形式,但我将其压缩为更易于阅读) 下面是显示数据库信息的代码 $sql = "SELECT * FROM inspect.building_1 "; $apartments = mysqli_query($con, $sql); while($apartment = mysqli_fetc

我目前正试图将图像从HTML表单上传到MySQL BLOB列

以下是我的HTML代码的当前相关代码(输入文件类型只是一个占位符,我当然会将其更改为任何必须的类型。这些值是表格数据形式,但我将其压缩为更易于阅读)

下面是显示数据库信息的代码

    $sql = "SELECT * FROM inspect.building_1 "; 
$apartments = mysqli_query($con, $sql); 
while($apartment = mysqli_fetch_assoc($apartments)){
    echo "<tr>";
    echo "<td>" . $apartment ["Unit"] . "</td>";
    echo "<td>" . $apartment ["Notes"] . "</td>";
    echo "<td>" . $apartment ["Media"] . "</td>";
    echo "<td>" . $apartment ["Date"] . "</td>";
    echo "<td>" . $apartment ["InspectionID"] . "</td>";
$sql=“从inspect.building_1中选择*;
$repartments=mysqli_查询($con,$sql);
而($PLANTION=mysqli\u fetch\u assoc($PLANTIONS)){
回声“;
echo“$公寓[“单元]”;
echo“$plant[“Notes”]”;
echo“$公寓[“媒体”]”;
echo“$公寓[“日期]”;
echo“$partment[“InspectionID”];
总之,我正在寻找HTML代码将多个图像上传到数据库中一个InspectionID下的一个表中。我需要数据库来存储图像并在单独的页面上显示它们。我完全开放一个文件路径,但我需要所有必要的代码-我是第一次在这里做这一切的初学者。非常感谢你谢谢你的帮助

如果你想知道它是什么样子的话。


注意:数据库连接和所有功能正常,我只需要图像方面的帮助,我可以立即看到您的表单标签丢失,这是您上载文件时所需的
enctype=“multipart/form data”

<form method="post" enctype="multipart/form-data" action="inspectionprocessing.php">
此外,强烈建议验证上传的图像是否确实是图像,是否太大,等等。您可以在此处查看一些验证内容:


另外,最好使用准备好的语句来插入和更新MySQL,以防止SQL注入。现在就开始这个习惯吧!

您必须向表单中添加
enctype=“multipart/form data”
,以便表单能够接受检索文件 其次,您不能使用
$\u POST
超级全局文件检索数据,您必须使用
$\u文件
超级全局文件 这是密码


媒体形象
$unitMedia=$\u文件['media']['name'];
$unitMedia\u temp=$\u文件['media']['tmp\u name'];
移动上传的文件($unitMedia\u temp,“img/$unitMedia”);
如果您想将图像插入数据库,可以使用
$unitMedia
插入图像
这就是我要说的,我希望这对您有所帮助

马上我就可以看到您的表单标签丢失了
enctype=“multipart/form data”
上载文件时需要使用这些语句。此外,您的代码对SQL注入开放,因为它不使用预处理语句或参数化查询。有关详细信息,请参阅。警告:您对预处理语句非常开放,应该使用参数化预处理语句,而不是手动生成查询。它们是由或提供的。永远不要相信任何人输入类型!即使您的查询仅由受信任的用户执行,“但我需要所有必要的代码”-这不是这个网站的实际工作方式。我们可以帮助您解决现有代码的问题,但我们不是来为您编写代码的。该网站有一个关于使用PHP处理上传的非常好的教程,并提供了适当的解释。我建议您从这里开始。
    $sql = "SELECT * FROM inspect.building_1 "; 
$apartments = mysqli_query($con, $sql); 
while($apartment = mysqli_fetch_assoc($apartments)){
    echo "<tr>";
    echo "<td>" . $apartment ["Unit"] . "</td>";
    echo "<td>" . $apartment ["Notes"] . "</td>";
    echo "<td>" . $apartment ["Media"] . "</td>";
    echo "<td>" . $apartment ["Date"] . "</td>";
    echo "<td>" . $apartment ["InspectionID"] . "</td>";
<form method="post" enctype="multipart/form-data" action="inspectionprocessing.php">
 $unitMedia = file_get_contents($_FILES['media']["tmp_name"]);