是什么让html输入值不能输入到mysql数据库

2vuwiymt  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(248)

我们有一个简单的文件上传页面可以工作,但不工作的是添加的输入。我们需要的输入,因为我们需要一些管理信息时,我们上传的文件,如一个名字,一些其他信息,如文件被发现的地方,等等。标记图像的输入工作正常。唯一的问题是,我们没有在数据库的表中获得任何条目,我们需要在其中存储图像名称,以便以后与我们的web应用程序一起使用。下面是我们的php代码

<?php 
ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);
$servername = 'localhost';
$db_username = 'masterchangedforpublicpost';
$db_pass = 'ChangedforPublicPost';
$dbname = 'ourdatabase';
// Other POST elements
$img_name = $_POST["img_name"];
$style_category = $_POST["style_category"];
$style_found = $_POST["style_found"];
$img_added = $_POST["img_added"];

$conn = new mysqli($servername, $db_username, $db_pass, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "INSERT INTO Styles (img_name, style_category, style_found, img_added)  VALUES ('$img_name', '$style_category', '$style_found', '$img_added');";

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

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

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

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

    if (in_array($fileActualExt, $allowed)) {
        if ($fileError === 0) {
            if ($fileSize < 200000000) {
                $fileNameNew = uniqid('', true).".".$fileActualExt;
                $fileDestination = $_SERVER['DOCUMENT_ROOT'].'/styleuploads/';
                $moved = move_uploaded_file($fileTmpName, $fileDestination.$img_name.".".$fileNameNew);
                header("Location: index.php?uploadyay");
                exit;
            } else echo "Opps, your file is too big! It needs to be smaller than 200 Megabytes";
        } else {
            echo "There was an error uploading your file";
        }
    } else {
        echo "You can not upload files of that type";
    }
}
?>

正如您所知,我们将连接和php放在上传php之前,首先处理数据输入,主要是因为我们需要首先将img\u名称添加到作用域中。

t3irkdon

t3irkdon1#

您已经创建了sql查询,但尚未执行。代码中缺少类似的内容:

mysqli_query($con,$sql);

您应该查看文档以获取更多信息—mysqli概述和示例
编辑:评论中已经提到了-请保护您的sql,不要在生产环境中使用这种代码。例如,请参阅pdostatement::bindparam,这是首选方法。

相关问题