Ошибка: Чемпион ‘product_name’ в списке полей данс

#php #mysql #wampserver

#php #mysql #wampserver

Вопрос:

Я пытаюсь сохранить данные формы в базе данных с помощью WampServer.

Когда я нажимаю на кнопку отправки, она показывает мне эту ошибку:

 "Error: Champ 'product_name' inconnu dans field list".
  

Я использую ту же работу для другой формы. Эта форма работает, но я не знаю, что с ней не так, пожалуйста, помогите мне

Мой код формы :

 <form action="saddproduct.php" enctype="multipart/form-data" name="myForm" id="myForm" 
 method="post"> 
    <table width="90%" border="1" cellpadding="6">
        <tr>
            <td width="20%">Product Name</td>
            <td width="80%"> 
                <label> 
                <input name="product_name" type="text" id="product_name" size="60" /> 
            </label>    
            </td>
        </tr>
        <tr>
            <td width="20%">Product Code</td>
            <td width="80%"> 
                <label> 
                    <input name="product_code" type="text" id="product_code" size="60" /> 
                </label>    
            </td>
        </tr>
        <tr>
            <td width="20%">Product Availability</td>
            <td width="80%"> 
            <label>
                <select name="availability" id="availability">
                    <option value=""></option>
                    <option value="in"> In Stock </option>
                    <option value="out"> Out Of Stock </option>
                    </select>
                </label>    
            </td>
        </tr>
        <tr>
            <td width="20%">Product Price</td>
            <td width="80%">
            <label>
                Rs.
                <input name="price" type="text" id="price" size="12"  />
            </label>    
            </td>
         </tr>
         <tr>
             <td align="right">Category</td>
            <td>
        <label>
                <select name="category" id="category">
                    <option value=""></option>
                    <option value="living"> Living Rooms </option>
                    <option value="bed"> Bed Rooms </option>
                    <option value="dining"> Dining Rooms </option>
                    </select>
                </label>    
            </td>
        </tr>
        <tr>
            <td align="right">Sub category</td>
            <td>
                <label>
                    <select name="subcategory" id="subcategory">
                        <option value=""></option>
                        <option value="lsofa"> Lining Sofa </option>
                        <option value="lchair"> Living Chair </option>
                        <option value="ltable"> Living Table </option>
                        <option value="bking"> King Beds </option>
                        <option value="bqueen"> Queen Beds </option>
                        <option value="dtable"> Dining Tables </option>
                        <option value="dchairs"> Dining Chairs </option>
                        <option value="hsale"> Sale Item For Home Page </option>
                        <option value="psale"> Sale Item For Sale Page </option>
                    </select>
                </label>
            </td>
        </tr>
        <tr>
            <td width="20%">Product Detail</td>
            <td width="80%">
            <label>
                <textarea name="details" id="details" cols="64" rows="5"> </textarea>
            </label>    
            </td>
        </tr>

        <tr>
            <td>amp;nbsp;  </td>
            <td width="80%"> 
                <label> 
                    <input type="submit" name="button" id="button" class="button" value="Add This  
         Product Now"  />
                </label>    
            </td>
        </tr>
        <tr>
            <td width="20%">amp;nbsp;</td>
            <td width="80%">amp;nbsp;</td>
        </tr>
   </table>
</form>
  

И моя страница PHP для обработки saddproduct.php которые выглядят как :

 <?php
    $con=mysqli_connect("localhost","root","03005225400","furniture");
    // Check connection
    if (mysqli_connect_errno()) {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }


    // escape variables for security
    $product_name = mysqli_real_escape_string($con, $_POST['product_name']);
    $product_code = mysqli_real_escape_string($con, $_POST['product_code']);
    $availability = mysqli_real_escape_string($con, $_POST['availability']);

    $price = mysqli_real_escape_string($con, $_POST['price']);
    $category = mysqli_real_escape_string($con, $_POST['category']);
    $subcategory = mysqli_real_escape_string($con, $_POST['subcategory']);

    $details = mysqli_real_escape_string($con, $_POST['details']);


    $sql="INSERT INTO employee 
              (product_name , product_code, availability, price, 
               category, subcategory, details, date_added) 
          VALUES('$product_name','$product_code', '$availability',     
                '$price','$category','$subcategory','$details',now())" 
          or die (mysql_error());

    if (!mysqli_query($con,$sql)) {
      die('Error: ' . mysqli_error($con));
    }

    mysqli_close($con);
?>
  

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

1. нет, нет, нет. удалите это or die() … вы просто устанавливаете там строку.

2. В любом случае, я думаю, что сообщение об ошибке понятно, хотя и на французском языке. У вас нет поля, вызываемого product_name в этой таблице.

3. Добавьте сообщение об ошибке в начало вашего файла (ов) error_reporting(E_ALL); ini_set('display_errors', 1); mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

4. @user3694543 Как уже говорилось, у вас, скорее всего, нет вызываемого столбца product_name . Тем не менее, я вижу здесь пробел product_name , , попробуйте удалить его, чтобы быть product_name, , у меня есть догадка об этом. Также для category ,

5. Это таблица products , ваш запрос — таблица employee

Ответ №1:

Я уверен, что если вы проверите свою структуру таблицы, вы не найдете ни одного столбца с именем product_name, по крайней мере, не с точным регистром.

Попробуйте проверить имена ваших столбцов, и если вы все еще не имеете понятия, попробуйте удалить имена столбцов и придерживаться порядка вашей структуры таблицы, помещая NULL в поля с содержимым по умолчанию, например, с автоинкрементом и временными метками.

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

1. регистр не должен иметь значения

2. @nl-x вы правы, я перепутал mysql и pgsql

Ответ №2:

Простая опечатка. Таблица employee должна быть products

Ответ №3:

Иногда эта ошибка типа (Ошибка: Champ ‘Yes’ в списке данных полей) возникает из-за использования (`) этих одинарных кавычек вместо использования (‘) этих кавычек в запросе ВСТАВКИ.