2014-06-25 6 views
-2

У меня возникли проблемы с вложением данных в базу данных, которую я создал с помощью cpanel. Я получаю сообщение об ошибке, когда я пытаюсь отправить свою форму.Ошибка обновления базы данных - Cpanel PHP

Я создал эту форму в html:

<form action="employees.php" method="post"> 
    <div> 
       <div > 
        <label for="inputFN">FIRST NAME</label> 
        <input type="text" name="inputFN"/> 
       </div> 
       <div > 
        <label for="inputLN">LAST NAME</label> 
        <input type="text" name="inputLN"/> 
       </div> 
       <div> 
        <label for="inputTitle">TITLE</label> 
        <br /> 
        <div> 
         <select name="title_select_container"> 
          <option value="Select">-- * SELECT * --</option> 
          <option value="Operator">Operator</option> 
      <option value="Manager">Manager</option> 
      <option value="Contractor">Contractor</option> 
      <option value="Worker">Worker</option> 
      <option value="none">NO LONGER EMPLOYED</option> 
         </select> 
        </div> 
       </div> 
       <div> 
        <label for="jobCode">JOB CODE</label> 
        <br /> 
        <div> 
         <select name="jobCode_select_container"> 
          <option value="Select">-- * SELECT * --</option> 
          <option value="141802">141802BENT</option> 
      <option value="141803B">141803BENT</option> 
      <option value="141904Z">141904ZOO</option> 
      <option value="142405T">142405TEK</option> 
      <option value="NEW">--NEW--</option> 
         </select> 
         <input type="text" id="newJobCode"/> 
         <input type="button" id="btnNewJobCode" value="Add"/> 
        </div> 
        <script> 
         $(document).ready(function() { 
        $('#newJobCode').hide(); 
        $('#btnNewJobCode').hide(); 

        $("#jobCode_select_container").change(function() { 
        var val = $(this).val(); 

        if (val == 'NEW') { 
         $('#newJobCode').show(); 
         $('#btnNewJobCode').show(); 
        } else { 
         $('#newJobCode').hide(); 
         $('#btnNewJobCode').hide(); 
        } 
       }).change(); 

      }); 
     </script> 
     </div> 
     <div> 
      <label for="lblActivity">Activity</label> 
        <br /> 
        <div> 
         <select name="activity_select_container"> 
          <option value="Select">-- * SELECT * --</option> 
      <option value="W">Working</option> 
      <option value="I">Inactive</option> 
         </select> 
     </div> 
        </div> 
       <input type="submit"></form> 

И это мой php файл справиться с этим:

<?php 
mysql_connect('localhost', 'user', 'pass') or die(mysql_error()); 

mysql_select_db('a_db') or die(mysql_error()); 

// escape variables for security 
$firstname = mysql_real_escape_string($_POST['inputFN']); 
$lastname = mysql_real_escape_string($_POST['inputLN']); 
$title = mysql_real_escape_string($_POST['title_select_container']); 
$jobCode = mysql_real_escape_string($_POST['jobCode_select_container']); 
$activity = mysql_real_escape_string($_POST['activity_select_container']); 

$query="INSERT INTO tblEmployees (empFirstName, empLastName, empTitle ,jobCode, empActivity) VALUES ('$firstname', '$lastname', '$title', '$jobCode', '$activity');"; 

mysql_query($query) or die('Error updating database'); 
echo "Database Updated With: " .$firstname. " ".$lastname." ".$title." ".$jobCode." ".$activity ; 

?> 

И это, как моя таблица создана : tblEmployee set up

Я считаю, что что-то может быть неправильным с моим оператором insert, но я не могу сказать, что это такое, потому что я следую тому же синтаксису на других страницах (с формами без выпадающих списков select), и все обрабатывается отлично.

Я также хочу быть в состоянии представить эти данные на table на самой веб-странице. Но я не могу этого сделать, если не могу вставить данные.

Update: Использование @ Fred-II- «s отчетности предложение, линии которых идет речь, они в php:

$title=mysql_real_escape_string($_POST['title_select_container']); 
$jobCode=mysql_real_escape_string($_POST['jobCode_select_container']); 
$activity=mysql_real_escape_string($_POST['activity_select_container']); 

Ошибка:

Undefined index: title_select_container in employees.php 
Undefined index: jobCode_select_container in employees.php 
Undefined index: activity_select_container in employees.php 

Я думал select элемент - это «управление формой и может использоваться в форме для сбора пользовательского ввода», поэтому почему он не может получить значения?

+0

Вы не обрабатываете свои столбцы как столбцы в '('empFirstName', 'empLastName', ...' удаляете кавычки или используете обратные ссылки. Кроме того, вам может потребоваться использовать цитаты вокруг '$ jobCode, $ activity', так как они' VARCHAR'. Добавить отчет об ошибках в начало вашего файла (ов) 'error_reporting (E_ALL); ini_set ('display_errors', 1); ' –

+0

Кроме того, вам нужна точка с запятой в конце инструкции' INSERT'. –

+0

@ Fred-ii- Я пробовал эти изменения, и проблема не устранена. Я вставляю этот 'error_reporting' в' php'? – justinternio

ответ

0

Id предлагаю попробовать следующее

<?php 
mysql_connect('localhost', 'user', 'pass') or die(mysql_error()); 

mysql_select_db('a_db') or die(mysql_error()); 

// escape variables for security 
$firstname = mysql_real_escape_string($_POST['inputFN']); 
$lastname = mysql_real_escape_string($_POST['inputLN']); 
$title = mysql_real_escape_string($_POST['title_select_container']); 
$jobCode = mysql_real_escape_string($_POST['jobCode_select_container']); 
$activity = mysql_real_escape_string($_POST['activity_select_container']);  

$query="INSERT INTO tblEmployees(`empFirstName`, `empLastName`, `empTitle` ,`jobCode`, `empActivity`) VALUES ('$firstname', '$lastname', '$title', '$jobCode', '$activity')"; 

mysql_query($query) or die('Error updating database'); 
echo "Database Updated With: " .$firstname. " ".$lastname." ".$title." ".$jobCode." ".$activity ; 

?> 

Также

Undefined index: title_select_container in employees.php 
Undefined index: jobCode_select_container in employees.php 
Undefined index: activity_select_container in employees.php 

Эта часть о том, что он не может найти title_select_container в этом файле Поэтому лучше добавлять IsSet() вокруг вашего или если заявление чтобы проверить, отправлена ​​ли форма

+0

Спасибо! Под руководством рабочего решения. Я должен был также изменить линию соединения из одиночных кавычек («localhost») на двойные кавычки («localhost»). Странно ... поскольку это, похоже, не влияет на мои другие php-файлы. Я также включу 'isset()'. :) – justinternio

Смежные вопросы