Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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_Mysqli_Image Uploading - Fatal编程技术网

Php 上载文件时,更新是否必须与插入不同?

Php 上载文件时,更新是否必须与插入不同?,php,mysqli,image-uploading,Php,Mysqli,Image Uploading,我正在制作的积垢的更新部分有问题。create工作正常,我在更新中使用了非常类似的代码,但是出现了一些问题,文件上传似乎有问题 我有一个显示数据库中所有行的页面。每一行旁边都有一个链接,表示“编辑”,单击该链接后,它会转到一个页面,在表单中显示数据库中的行。然后可以更改信息,单击“提交”按钮可以运行表单操作,这是一个包含以下内容的php文件: <?php include ('includes/DbCon.php'); if (isset($_POST['ud_id']))$id = $_

我正在制作的积垢的更新部分有问题。create工作正常,我在更新中使用了非常类似的代码,但是出现了一些问题,文件上传似乎有问题

我有一个显示数据库中所有行的页面。每一行旁边都有一个链接,表示“编辑”,单击该链接后,它会转到一个页面,在表单中显示数据库中的行。然后可以更改信息,单击“提交”按钮可以运行表单操作,这是一个包含以下内容的php文件:

<?php
include ('includes/DbCon.php');

if (isset($_POST['ud_id']))$id = $_POST['ud_id'];

$query = "SELECT * FROM news WHERE id = '$id'";
$result = $mysqli->query ($query);
if(mysqli_num_rows($result)>=1)
{
$row = mysqli_fetch_array($result, MYSQLI_BOTH);
    $headline = $row['headline'];
    $body = $row['body'];
    $image = $row['image'];
}
else{
    $mysqli->error;
}


//Set directory etc for image upload
$target_dir = "images/photo/";
$target_file = $target_dir . basename($_FILES["ud_image"]["name"]);

if (move_uploaded_file($_FILES["ud_image"]["tmp_name"], $target_file)or die($mysqli->error))
{
    echo '<script type="text/javascript">';
    echo 'alert("News Items Saved")';
    echo '</script>';
} else {
        echo "Sorry, there was an error with your file.";
}

当前照片

“alt=”“width=“auto”height=“auto”>


您的
移动上传的文件()功能似乎有问题。在线手册:

请尝试以下代码:

<?php
...
if ($_FILES["ud_image"]["error"] == UPLOAD_ERR_OK)
{
    $tmp_name = $_FILES["ud_image"]["tmp_name"];
    $name = $_FILES["ud_image"]["name"];
    if (move_uploaded_file($tmp_name, "$target_dir$name"))
    {
        echo '<script type="text/javascript">';
        echo 'alert("News Items Saved")';
        echo '</script>';
    }
    else
    {
        echo "Sorry, there was an error with your file.";
    }
}
else
{
    echo "Sorry, there was an error with your file.";
}

您能否向我们展示添加到问题中的表单代码??表单。可能是因为它没有设置enctype?如果有,实际的sql错误是什么?@tdrsam是否尝试使用enctype=“multipart/form data”“??我刚刚添加了enctype,并上传了图像,但更新实际上并没有将字符串保存到数据库中。查询是这样的:
$edit=mysqli\u query($mysqli,“更新新闻集标题='$ud\u headline',body='$ud\u body',image='$ud\u image',其中id='$id')使文件上传工作正常-文件存储在目标目录中。但是,数据库中的行没有更新。
<?php
...
if ($_FILES["ud_image"]["error"] == UPLOAD_ERR_OK)
{
    $tmp_name = $_FILES["ud_image"]["tmp_name"];
    $name = $_FILES["ud_image"]["name"];
    if (move_uploaded_file($tmp_name, "$target_dir$name"))
    {
        echo '<script type="text/javascript">';
        echo 'alert("News Items Saved")';
        echo '</script>';
    }
    else
    {
        echo "Sorry, there was an error with your file.";
    }
}
else
{
    echo "Sorry, there was an error with your file.";
}