Php 用户上载的图像未插入到表中
除了$sqlImg(应该将上传的图像插入到表中)之外,其他一切都正常工作。有人能给我解释一下为什么它不起作用吗?或者,如果有另一种方法有效的话,我很想听听。下面的文件是my upload.inc.php。我计划在将另一个名为home.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
<?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();}”来代替。更新了我的答案。但是无论如何,非常感谢!成功了,图片现在插入到我的表格中。:)哦,这是我第一次遇到这种情况,谢谢你传授的知识!:)