Php 提交表单时未更新MySQL数据库

Php 提交表单时未更新MySQL数据库,php,html,mysql,database,Php,Html,Mysql,Database,我正在使用HTML表单和PHP将数据上传到MySQL数据库。当我提交信息时,我上传的一个图像会被移动到一个特定的文件夹中(按照我预期的方式),但数据不会被上传到数据库中。 我现在添加了大部分代码,网站不允许我添加所有内容,我删除了一些在我看来与当前问题无关的行。因此,也许你会发现问题: <!DOCTYPE> <?php include("includes/db.php"); ?> <html> <head> <title>

我正在使用HTML表单和PHP将数据上传到MySQL数据库。当我提交信息时,我上传的一个图像会被移动到一个特定的文件夹中(按照我预期的方式),但数据不会被上传到数据库中。 我现在添加了大部分代码,网站不允许我添加所有内容,我删除了一些在我看来与当前问题无关的行。因此,也许你会发现问题:

<!DOCTYPE>
<?php 

include("includes/db.php");

?>
<html>
<head>
    <title>Inserting Product</title> 

<script src="//tinymce.cachefly.net/4.1/tinymce.min.js"></script>
<script>
    tinymce.init({selector:'textarea'});
</script>
</head>

<body bgcolor="grey">


<form action="insert_product.php" method="post" enctype="multipart/form-
data"> 

    <table align="center" width="795" border="2" bgcolor="lime">

        </tr>

        <tr>
            <td align="right"><b>Product Category:</b></td>
            <td>
            <select name="product_cat" >
                <option>Select a Category</option>
                <?php 
    $get_cats = "select * from categories";

    $run_cats = mysqli_query($con, $get_cats);

    while ($row_cats=mysqli_fetch_array($run_cats)){

    $cat_id = $row_cats['cat_id']; 
    $cat_title = $row_cats['cat_title'];

    echo "<option value='$cat_id'>$cat_title</option>";
}
                ?>
            </select>
</td>
        </tr>

        <tr>
            <td align="right"><b>Product Publisher:</b></td>
        <td>            <select name="product_dev">
            <option>Select a Publisher</option>
            <?php
            $get_devs = "select * from developers";

            $run_devs = mysqli_query($con, $get_devs);

            while ($row_devs=mysqli_fetch_array($run_devs)){

            $dev_id = $row_devs['dev_id']; 
            $dev_title = $row_devs['dev_title'];

            echo "<option value='$dev_id'>$dev_title</option>";
}
            ?>
        </select>


            </td>
        </tr>

        <tr>
            <td align="right"><b>Product Image:</b></td>
            <td><input type="file" name="product_image" /></td>
        </tr>

        <tr>
            <td align="right"><b>Product Price:</b></td>
            <td><input type="text" name="product_price" required/></td>
        </tr>

        <tr>
            <td align="right"><b>Product Keywords:</b></td>
            <td><input type="text" name="product_keywords" size="50" 
required/></td>
        </tr>
        <tr align="center">
            <td colspan="7"><input type="submit" name="insert_post" 
value="Insert Product Now"/></td>
        </tr>
    </table>
</form>
</body> 
</html>
<?php 

if(isset($_POST['insert_post'])){

    $product_title = $_POST['product_title'];
    $product_cat= $_POST['product_cat'];
    $product_pub = $_POST['product_pub'];
    $product_dev = $_POST['product_dev'];
    $product_price = $_POST['product_price'];
    $product_desc = $_POST['product_desc'];
    $product_keywords = $_POST['product_keywords'];

    $product_image = $_FILES['product_image']['name'];
    $product_image_tmp = $_FILES['product_image']['tmp_name'];

    move_uploaded_file($product_image_tmp,"product_images/$product_image");

     $insert_product = "insert into products 
(product_cat,product_pub,product_dev,
product_title,product_price,product_desc,product_image,
product_keywords) values ('$product_cat','$product_pub','$product_dev',
'$product_title','$product_price','$product_desc',
'$product_image','$product_keywords')";

     $insert_pro = mysqli_query($con, $insert_product);

     if($insert_pro){

     echo "<script>alert('Product Has been inserted!')</script>";
     echo "<script>window.open('index.php?insert_product','_self')
</script>";

     }
}


?>

插入产品
init({选择器:'textarea'});
产品类别:
选择一个类别
你的问题似乎很好。
只需验证您的MySQLi连接

应该是这样的:

$con = mysqli_connect("HOST", "USERNAME", "PASSWORD", "DATABASE_NAME");

这里没有任何sql查询或请求。当你不请求任何东西时,为什么要期望sql数据库更新?我们甚至看不到你的代码连接到mySql服务器。如果您忽略了某些部分,请添加完整的代码。@Tomm我想他在
$insert\u product
上有一个
SQL
查询,但问题很少。首先,他在
SQL
中直接使用他的变量非常糟糕。您需要注意使用准备好的语句,因为目前人们可以对您的项目进行SQL注入攻击。同时告诉我们您是否有任何错误检查控制台是否有任何错误。还要验证与数据库的连接是否正常。@Sand很好的调用,也许他还应该包括insert_产品文件代码。是的,这是主要的sql注入警报使用
mysqli\u error()
,您有任何错误吗?在成功地将数据插入数据库后也移动上传的文件。这不是问题的答案。我已经在我的机器上执行了这个查询,它工作正常。此外,列的数据类型可能不支持发布的值。