Данные о продукте не вставляются в phpmySQL

#php #html #mysql

Вопрос:

Я пытаюсь добавлять продукты через PHP внутри PHP MySQL, но каким-то образом код не вставляет данные в базу данных во время работы без каких-либо ошибок. Я не уверен, есть ли какая-либо ошибка в PHP или в PHP MySQL. Я надеюсь, что получу здесь некоторые ответы. Вот мой код: HTML

 <div id="content">
        <form method="GET" action="" enctype="multipart/form-data">
            <input type="text" name="productName" value="" placeholder="Product Name">
            <input type="text" name="quantity" placeholder="Quantity">
            <input type="text" name="regularPrice" placeholder="Regular Price">
            <input type="text" name="discountedPrice" placeholder="discountedPrice">
            <input type="file" name="uploadfile" value="" />
            <input type="text" name="category" placeholder="Category">
            <div>
                <button type="submit" name="productImage">Add Product</button>
            </div>
        </form>
    </div>
 

PHP-КОД:

 <?php
error_reporting(0);
?>
<?php
  $msg = "";
  
    // If upload button is clicked ...
    if (isset($_GET['productImage'])) 
    {
    
        $productName = $_GET['productName'];
        $quantity = $_GET['quantity'];
        $regPrice = $_GET['regularPrice'];
        $discPrice = $_GET['discountedPrice'];
        $productImage = $_FILES["uploadfile"]["name"];
        $tempname = $_FILES["uploadfile"]["tmp_name"];   
        $category = $_GET['category']; 
        $folder = "asset/images/products/".$productImage;
            
        $host = "localhost";
        $dbUsername = "root";
        $dbPassword = "";
        $dbname = "kewalsmart";   

        // Creating Connection
        $conn = new mysqli($host, $dbUsername, $dbPassword, $dbname);
        
        if(mysqli_connect_error())
        {
            die('Connection Error('. mysql_connect_errno().')'. mysqli_connect_error());
        }
        else
        {
            $SELECT = "SELECT email From products Where product_name = ? Limit 1";
            // Get all the submitted data from the form
            $INSERT = "INSERT INTO products (product_name, quantity, regular_price, discounted_price, product_image, category) VALUES ('$productName, $quantity, $regPrice, $discPrice, $productImage, $category')";

            // Prepare Statement
            $stmt = $conn->prepare($SELECT);
            $stmt->bind_param("s", $productName);
            $stmt->execute();
            $stmt->bind_result($productName);
            $stmt->store_result();
            $rnum = $stmt->num_rows;

            if($rnum==0)
            {
                $stmt->close();

                $stmt = $conn->prepare($INSERT);
                $stmt->bind_param("ssiiss", $productName, $quantity, $regPrice, $discPrice, $productImage, $category);
                $stmt->execute();
                ?>

                <script type="text/javascript"> 
                    window.alert("Product Added Successfully");
                    window.location.href = "index.html";
                </script>
            
                <?php   
            }
            else
            {
            ?>
                <script>
                    window.alert("Something's Wrong");
                    setTimeout(function(){ window.location.href = "./"; }, 2000);           
                </script>
        
            <?php
            }

            // Now let's move the uploaded image into the folder: image
            if (move_uploaded_file($tempname, $folder))  
            {
                $msg = "Image uploaded successfully";
            }
            else
            {
                $msg = "Failed to upload image";
            }
            $stmt->close();
            $conn->close();
          
        }
    }
?>
 

Заранее благодарю вас!

Комментарии:

1. Создайте свой метод формы post $_GET соответствующим образом отрегулируйте)

2. Это было отправлено ранее, но не сработало, поэтому я попытался сделать это через GET, но вернул то же самое.

3. Ну, это должно быть «сообщение» для загрузки, чтобы работать. Сделайте это «опубликовать», запустите снова и опубликуйте все ошибки, которые вы получите. К вашему сведению, error_reporting(0); отключает все отчеты об ошибках

4. Ах, спасибо за разъяснение по сообщению об ошибках, вот почему я ничего не получал. Это одно из следующих предупреждений: mysqli_query() ожидает, что параметр 1 будет mysqli, значение null указано .. addproduct.php в строке 84 И Строке 84 это $result = mysqli_query($conn, «ВЫБРАТЬ * ИЗ продуктов»);

5. Не обращайте внимания на вышеуказанную ошибку, пожалуйста, сейчас произойдет эта: Фатальная ошибка: Неперехваченная ошибка: Вызов функции-члена bind_param() на bool в ../addproduct.php:37 Трассировка стека: #0 {main} вброшено ..addproduct.php в строке 37 в строке 37 есть этот $stmt->bind_param(«s», $ProductName);