未将图像插入phpmyadmin数据库

未将图像插入phpmyadmin数据库,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我正在使用文件类型的输入字段,以便将图像插入数据库,然后在前端查看te图像 这是我在pho文件中用于插入数据的代码: function insert_product(){ try{ global $conn; //prepare statement $statement = $conn->prepare("insert into products (product_name, product_brand, product_categ

我正在使用文件类型的输入字段,以便将图像插入数据库,然后在前端查看te图像

这是我在pho文件中用于插入数据的代码:

function insert_product(){
    try{
        global $conn;
        //prepare statement 
        $statement = $conn->prepare("insert into products (product_name, product_brand, product_category, product_image, product_description, product_price, product_keywords) values (:product_name, :product_brand, :product_category, :product_image, :product_description, :product_price, :product_keywords)");
        //bind parametes
        $statement ->bindParam(':product_name', $product_name);         
        $statement ->bindParam(':product_brand', $product_brand);
        $statement ->bindParam(':product_category', $product_category);
        $statement ->bindParam(':product_name', $product_name);
        $statement ->bindParam(':product_price', $product_price);
        $statement ->bindParam(':product_description', $product_description);
        $statement ->bindParam(':product_keywords', $product_keywords);

        // executing the statement
        $product_name = $_POST['product_name'];
        $product_brand = $_POST['product_brand'];
        $product_category = $_POST['product_category'];
        $product_price = $_POST['product_price'];
        $product_description = $_POST['product_description'];
        $product_keywords = $_POST['product_keywords'];
        //getting the image from the field
        $product_image = $_FILES['product_image']['name'];
        $product_image_tmp = $_FILES['product_image']['tmp_name'];
        move_uploaded_file($product_image_tmp,"product_images/$product_image");
        $statement->execute();
        header('Location: index.php');
    }
    catch(PDOException $e){
        echo 'Error: ' . $e->getMessage();
    }
}
当我尝试插入数据时,我看到以下错误:

我检查了我的参数,不太明白到底出了什么问题


如何将图像插入数据库并在以后查看它?

您将绑定
:product\u name
两次,而
:product\u image
一点也不。此外,您应该调用
bindParam()
在填充您正在使用的变量之后。@rickdenhaan我希望您不介意解释您的第二条注释,这样我就知道我在做什么。代码现在可以工作了,不过我感谢您的支持。在您将变量绑定到参数时,变量还没有定义
bindParam()
碰巧通过引用绑定变量,因此它们在之后获得值并不重要,但几乎所有其他PHP函数都会为此发出“未定义变量”警告。这是一种不好的做法,而且在将来的代码维护中很容易引起麻烦。