Php 将图像路径插入数据库不工作

Php 将图像路径插入数据库不工作,php,mysqli,Php,Mysqli,我想将图像路径插入到数据库表中,以便以后可以将其显示在其他位置,但插入到表中的唯一内容是图片上载到的文件夹名称,并且图像名称丢失 这是我的密码: <?php require "connect.php"; if(isset($_GET['id'])) { $id = $_GET['id']; } $uploaddir = 'uploaded'; if(isset($_POST['submit'])) { $filename = $_FILES['image']['name

我想将图像路径插入到数据库表中,以便以后可以将其显示在其他位置,但插入到表中的唯一内容是图片上载到的文件夹名称,并且图像名称丢失

这是我的密码:

<?php
require "connect.php";

if(isset($_GET['id']))
{
    $id = $_GET['id'];
}

$uploaddir = 'uploaded';
if(isset($_POST['submit']))
{
    $filename = $_FILES['image']['name'];
    $tmp = $_FILES['image']['tmp_name'];
    $filepath = $uploaddir . $filename;
    move_uploaded_file($tmp,$filepath);
    $filepath=addslashes($filepath);
    mysqli_query($conn,"UPDATE vijesti SET imeslike='$filepath' WHERE id='$id'");
    mysqli_close($conn);
}
?>
<div id="main">
<form action="index.php" method="post" enctype="multipart/form-data">
<input type="file" name="image"/>
<input type="submit" value="upload"/>
</form>
</div> 

但同样的问题。

在数据库中查找正确路径之前,请验证图像是否已上载

而不是:

$uploaddir = 'uploaded';
试一试

尝试:


请提供有关
imeslike
列的信息您的代码极易受到SQL注入的攻击,仅使用MySQLi并不能保证代码的安全,请在SQL查询中使用之前阅读准备好的语句或正确清理数据。除此之外,
echo$filename是否正确显示图像名称?上传成功了吗?在继续之前,您检查了吗?它没有显示错误吗?如果要在网站上显示相对URL路径,则应保存该路径。保存本地路径将在稍后阶段成为一个问题。imeslike是varchar(255)在哪里检查imeslike列是否已更新?直接从数据库还是在其他页面?您还可以指定使用绝对路径时imeslike column获得的值吗?确定未上载图像目录为空,我尝试回显$filename,但未回显该目录。我直接在数据库中检查该列是否已更新,以及当我使用绝对路径时,该列中显示的值是否相同(已上载/)我这样做了,但没有发生任何事情您的图像被插入到上传的目录中吗?尝试使用mysql\u real\u escape\u string($filename)而不是addslashes($filename)“UPDATE vijesti SET imeslike='$filepath'其中id='$id'”——“您可以将其测试为:$SQL=“UPDATE vijesti SET imeslike='$filepath'其中id=”.$id;mysqli_查询($conn,$SQL);从$filepath中删除addslashes函数。SQL的另一个变量可以是--“UPDATE vijesti SET imeslike=”。$filepath。“”其中id=“.$id;”--如果您可以获得$filepath,那么它应该可以毫无问题地进入数据库。我在现有代码中添加了一行,以便在我们将数据更新到数据库时发布该值。如果你觉得答案有用,请投票表决。谢谢
$uploaddir = 'uploaded';
$uploaddir = 'uploaded/';
<?php
require "connect.php";

if(isset($_GET['id'])) {
  echo $id = $_GET['id'];
}

$uploaddir = 'uploaded/';

if(isset($_POST['submit'])) {
  $pid = $_POST['pid'];
  $filename = $_FILES['image']['name'];
  $tmp = $_FILES['image']['tmp_name'];
  $filepath = $uploaddir . $filename;
  move_uploaded_file($tmp,$filepath);
  $filepath=addslashes($filepath);
  mysqli_query($conn,"UPDATE vijesti SET imeslike='$filepath' WHERE id='$pid'");
  mysqli_close($conn);
}
?>
<div id="main">
  <form action="" method="post" enctype="multipart/form-data">
    <input type="text" name="pid" value="<?php echo $id;?>">  
    <input type="file" name="image"/>
    <input name="submit" type="submit" value="upload"/>
  </form>
</div>