1

我想不是通过插入而是通过更新(通过使用 UPDATE 查询)将图像存储在数据库中。

其他所有内容均已成功更新,但未存储图像。我正在使用中等 blob 数据类型来存储图像。

这是我的代码:

更新profile.php:

  <form id="form" method="post" action="update-profile-action.php"   enctype="multipart/form-data">
    <label for="Fname">First Name:</label> <input type="text" id="Fname" class="text"  value="<?php echo $firstname; ?>" name="Fname" /> <br /><br />
     <label for="Lname">Last Name:</label> <input type="text" id="Lname" class="text"    value="<?php echo $lastname; ?>" name="Lname" /><br /> <br />

<?php 
if ($_SESSION["type"]=="T")
{
?>        
    <label>Profile Image:</label> <input type="file" name="image" value="" /><br     />     <br />
     <label>Qualification:</label><textarea name="qualification" class="text"  id="qualification"><?php echo $qualification;?></textarea><br /><br />
    <label>Education & Teaching History:</label> <textarea name="briefintro"     class="text" id="intro"><?php echo $briefintro; ?></textarea><br /><br />
<?php
}
?>
    <input type="submit" class="mybutton" value="Update Profile" />

</form>

更新配置文件action.php:

<?php include("../includes/config.php");?>
<?php
$Fname=$_POST["Fname"];
$Lname=$_POST["Lname"];
$image=$_POST["profileimg"];
$briefintro=$_POST["briefintro"];
$qualification=$_POST["qualification"];

$con=mysql_connect($dbserver,$dbusername,$dbpassword);
if (!$con) { die('Could not connect: ' . mysql_error()); }
mysql_select_db($dbname, $con);
$query=("UPDATE accounts SET firstname='".$Fname."' , lastname='".$Lname."' ,  profileimg='".$image."' ,  briefintro='".$briefintro."',    qualification='".$qualification."' WHERE id=".$_SESSION['id']);
$result = mysql_query($query);
header("Location: update-profile.php?status=3");
mysql_close($con);
?>

我只复制了 update-profile.php 中的相关数据以使其更易于阅读:) 任何形式的帮助将不胜感激:)

4

1 回答 1

1

两个问题:

您没有文件输入标签的 id。您需要更改<input type="file" name="image" value="" /><input type="file" name="image" value="" id = "profileimage" />

其次,您不是通过$_POST而是通过访问文件$_FILES

于 2012-10-18T18:01:08.637 回答