Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/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_Insert Into - Fatal编程技术网

Php 用户上载的图像未插入到表中

Php 用户上载的图像未插入到表中,php,mysqli,insert-into,Php,Mysqli,Insert Into,除了$sqlImg(应该将上传的图像插入到表中)之外,其他一切都正常工作。有人能给我解释一下为什么它不起作用吗?或者,如果有另一种方法有效的话,我很想听听。下面的文件是my upload.inc.php。我计划在将另一个名为home.php的文件插入到我的表中后,在其上回显该图像 <?php if (!isset($_SESSION)) { session_start();} include_once 'includes/dbh.inc.php'; $id = $_SESSION['k

除了$sqlImg(应该将上传的图像插入到表中)之外,其他一切都正常工作。有人能给我解释一下为什么它不起作用吗?或者,如果有另一种方法有效的话,我很想听听。下面的文件是my upload.inc.php。我计划在将另一个名为home.php的文件插入到我的表中后,在其上回显该图像

<?php

if (!isset($_SESSION)) {
session_start();}

include_once 'includes/dbh.inc.php';
$id = $_SESSION['key'];

if (isset($_POST['submitFile'])) {
$file = $_FILES['file'];

$fileName = $file['name'];
$fileTmpName = $file['tmp_name'];
$fileSize = $file['size'];
$fileError = $file['error'];
$fileType = $file['type'];

$fileExt = explode('.', $fileName);
$fileActualExt = strtolower(end($fileExt));


$allowed = array('jpg', 'jpeg', 'png');

if (in_array($fileActualExt, $allowed)) {
    if ($fileError == 0) {
        if ($fileSize < 1000000) {
            $fileNameNew = "profile".$id.".".$fileActualExt;
            $fileDestination = 'uploads/'.$fileNameNew;
            move_uploaded_file($fileTmpName, $fileDestination);

            $sql = "UPDATE profileimg SET status=0 WHERE userid='$id';";
            mysqli_query($conn, $sql);

            $sqlImg = "INSERT INTO profileimg (image) WHERE userid='$id' VALUES ($fileNameNew);";
            mysqli_query($conn, $sqlImg);

            header("Location: home.php?upload=success");
        }
        else { echo "Sorry, your file size is too big.";}
    }
    else { echo "Oops, an error occurred!";}
}
else { echo "Please upload png and jpg files only.";}
}

您正在对新图像执行
插入操作。我想你需要更新

更改:

$sql = "UPDATE profileimg SET status=0 WHERE userid='$id';";
$sql = "UPDATE profileimg SET status=0, image = '$fileNameNew' WHERE userid='$id';";
$sqlImg = "INSERT INTO profileimg (image) WHERE userid='$id' VALUES ($fileNameNew);";
mysqli_query($conn, $sqlImg);
if (!isset($_SESSION)) {
session_start();}
if (session_status() == PHP_SESSION_NONE) {
    session_start();
}
至:

$sql = "UPDATE profileimg SET status=0 WHERE userid='$id';";
$sql = "UPDATE profileimg SET status=0, image = '$fileNameNew' WHERE userid='$id';";
$sqlImg = "INSERT INTO profileimg (image) WHERE userid='$id' VALUES ($fileNameNew);";
mysqli_query($conn, $sqlImg);
if (!isset($_SESSION)) {
session_start();}
if (session_status() == PHP_SESSION_NONE) {
    session_start();
}
并删除:

$sql = "UPDATE profileimg SET status=0 WHERE userid='$id';";
$sql = "UPDATE profileimg SET status=0, image = '$fileNameNew' WHERE userid='$id';";
$sqlImg = "INSERT INTO profileimg (image) WHERE userid='$id' VALUES ($fileNameNew);";
mysqli_query($conn, $sqlImg);
if (!isset($_SESSION)) {
session_start();}
if (session_status() == PHP_SESSION_NONE) {
    session_start();
}
您正在以错误的方式执行会话\u start()。它应该一直被调用

更改:

$sql = "UPDATE profileimg SET status=0 WHERE userid='$id';";
$sql = "UPDATE profileimg SET status=0, image = '$fileNameNew' WHERE userid='$id';";
$sqlImg = "INSERT INTO profileimg (image) WHERE userid='$id' VALUES ($fileNameNew);";
mysqli_query($conn, $sqlImg);
if (!isset($_SESSION)) {
session_start();}
if (session_status() == PHP_SESSION_NONE) {
    session_start();
}
至:

$sql = "UPDATE profileimg SET status=0 WHERE userid='$id';";
$sql = "UPDATE profileimg SET status=0, image = '$fileNameNew' WHERE userid='$id';";
$sqlImg = "INSERT INTO profileimg (image) WHERE userid='$id' VALUES ($fileNameNew);";
mysqli_query($conn, $sqlImg);
if (!isset($_SESSION)) {
session_start();}
if (session_status() == PHP_SESSION_NONE) {
    session_start();
}

您正在对新图像执行
INSERT
。我想你需要更新

更改:

$sql = "UPDATE profileimg SET status=0 WHERE userid='$id';";
$sql = "UPDATE profileimg SET status=0, image = '$fileNameNew' WHERE userid='$id';";
$sqlImg = "INSERT INTO profileimg (image) WHERE userid='$id' VALUES ($fileNameNew);";
mysqli_query($conn, $sqlImg);
if (!isset($_SESSION)) {
session_start();}
if (session_status() == PHP_SESSION_NONE) {
    session_start();
}
至:

$sql = "UPDATE profileimg SET status=0 WHERE userid='$id';";
$sql = "UPDATE profileimg SET status=0, image = '$fileNameNew' WHERE userid='$id';";
$sqlImg = "INSERT INTO profileimg (image) WHERE userid='$id' VALUES ($fileNameNew);";
mysqli_query($conn, $sqlImg);
if (!isset($_SESSION)) {
session_start();}
if (session_status() == PHP_SESSION_NONE) {
    session_start();
}
并删除:

$sql = "UPDATE profileimg SET status=0 WHERE userid='$id';";
$sql = "UPDATE profileimg SET status=0, image = '$fileNameNew' WHERE userid='$id';";
$sqlImg = "INSERT INTO profileimg (image) WHERE userid='$id' VALUES ($fileNameNew);";
mysqli_query($conn, $sqlImg);
if (!isset($_SESSION)) {
session_start();}
if (session_status() == PHP_SESSION_NONE) {
    session_start();
}
您正在以错误的方式执行会话\u start()。它应该一直被调用

更改:

$sql = "UPDATE profileimg SET status=0 WHERE userid='$id';";
$sql = "UPDATE profileimg SET status=0, image = '$fileNameNew' WHERE userid='$id';";
$sqlImg = "INSERT INTO profileimg (image) WHERE userid='$id' VALUES ($fileNameNew);";
mysqli_query($conn, $sqlImg);
if (!isset($_SESSION)) {
session_start();}
if (session_status() == PHP_SESSION_NONE) {
    session_start();
}
至:

$sql = "UPDATE profileimg SET status=0 WHERE userid='$id';";
$sql = "UPDATE profileimg SET status=0, image = '$fileNameNew' WHERE userid='$id';";
$sqlImg = "INSERT INTO profileimg (image) WHERE userid='$id' VALUES ($fileNameNew);";
mysqli_query($conn, $sqlImg);
if (!isset($_SESSION)) {
session_start();}
if (session_status() == PHP_SESSION_NONE) {
    session_start();
}
应该是

$sqlImg = "INSERT INTO profileimg (image) WHERE userid=".$id." VALUES (".$fileNameNew.")";
        mysqli_query($conn, $sqlImg);
应该是

$sqlImg = "INSERT INTO profileimg (image) WHERE userid=".$id." VALUES (".$fileNameNew.")";
        mysqli_query($conn, $sqlImg);

当我将其更改为“session_start();”时,再次出现此错误:注意:会话已启动-忽略第3行C:\wamp\www\FormFinalPush\upload.php中的session_start()。这就是为什么我用“if(!isset($_SESSION)){SESSION_start();}”来代替。更新了我的答案。但是无论如何,非常感谢!成功了,图片现在插入到我的表格中。:)哦,这是我第一次遇到这种情况,谢谢你传授的知识!:)当我将其更改为“session_start();”时,再次出现此错误:注意:会话已启动-忽略第3行C:\wamp\www\FormFinalPush\upload.php中的session_start()。这就是为什么我用“if(!isset($_SESSION)){SESSION_start();}”来代替。更新了我的答案。但是无论如何,非常感谢!成功了,图片现在插入到我的表格中。:)哦,这是我第一次遇到这种情况,谢谢你传授的知识!:)