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

时间:2018-04-11 00:46:41

标签: php html mysql

我们有一个简单的文件上传页面可以使用,不起作用的是增加的输入。我们需要输入,因为我们在上传文件时需要一些管理员信息,例如名称等一些其他信息,例如找到文件的位置等等。标记图像的输入工作得很好。唯一的问题是我们没有进入数据库表中的任何条目,我们需要存储图像名称以供以后与我们的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放在php上,因为我们需要首先将img_name添加到作用域。

1 个答案:

答案 0 :(得分:2)

您已创建SQL查询,但尚未执行。您在代码中遗漏了类似的内容:

mysqli_query($con,$sql);

您应该查看文档以获取更多信息 - mysqli overviewexample

编辑:评论中已经提到过 - 请保护您的SQL并且永远不要在生产环境中使用这种代码。例如,请参阅PDOStatement::bindParam,这是首选方式。