Ошибка неопределенного индекса PHP to MS SQL

0

У меня ошибка, заполняющая столбец в моей таблице sql из моей php-формы. Я получаю Undefined index: ID error. Сначала я покажу вам свой код php/html, который правильно отображает все мои данные, я покажу снимки экрана, а затем я покажу неправильное заполнение ответов в моей таблице sql. Спасибо, что посмотрели и помогли!

Этот первый код - это то, где я создаю свой выбор, который работает правильно, я верю, потому что все, что я импортирую из своей таблицы sql, появляется правильно.

<label for="animalCommony">Common Name</label>
<select name="animalCommony" id="animalCommony" form="form1">
<option>Select a Common Name:</option>

<?php
$db = get_db_connection('swcrc');
$db->connect();
$db->query("SELECT [Common Name] FROM dbo.All_Animals"); //THE BRACKETS WORK FINE I WILL SHOW
                                                         //A SCREEN SHOT OF THE FUNCTIONAL FORM
while($row = $db->fetch())
{
?>
   <option value="<?php echo $row['ID'];?>"><?php echo $row['Common Name'];?></option> //THIS IS
   //WHERE I BELIEVE THE ERROR MAYBE COMING FROM THIS IS LINE 570
<?php 
}
?>
</select>
</p>

Эта следующая часть кода - это то, где я вставляю свои избранные ответы в таблицу MS SQL. ПРИМЕЧАНИЕ. Все заполняется в моей таблице MS SQL должным образом, за исключением моей переменной animalCommoner.

 $animalClasser = (isset($_POST['animalClassy'])? $_POST['animalClassy']: null);
 $animalCommoner = (isset($_POST['animalCommony'])? $_POST['animalCommony']:null); //NOT 
        //POPULATING INTO MS SQL DATABASE
        $db->query("UPDATE dbo.Request SET status='%s' WHERE ID=%d", 
            $_POST['completed'],
            $_POST['request_id']);
        $db->query("INSERT INTO dbo.Response (request_ID, user_ID, complete, comment,
                                              response_date, animalClass, animalCommon) 
        VALUES (%d, %d, '%s', 's', 's', '$animalClasser', '$animalCommoner')",
            $_POST['request_id'], 
            $_POST['completed_by_user_id'], 
            $_POST['completed'], 
            $_POST['not_completed'],
            $_POST['date_completed']);

Затем я опубликую экранное представление неправильно заполненной таблицы sql. Это очень тонкая картина. Изображение 174551

Наконец, я опубликую снимок экрана своей формы, чтобы показать, что он заполняется правильно. Изображение 174551

Спасибо, что посмотрели и помогли! ЭТО ОБОРОТЬ СООБЩЕНИЕ ОШИБКИ Изображение 174551

Теги:
sql-server
forms

1 ответ

3
Лучший ответ

Неопределенный индекс появляется, потому что ключ, который вы используете в своем массиве, не был получен с запросом. В текущем запросе выбирается значение [Common Name] из таблицы, поэтому "Common Name" будет единственным ключом, доступным для каждой строки. Если идентификатор - это столбец в вашей таблице, попробуйте изменить свой запрос так:

$db->query("SELECT [ID], [Common Name] FROM dbo.All_Animals");
  • 0
    Спасибо за ответ, Шейн, я сделал предложенное вами изменение, но, к сожалению, я все еще получаю ту же ошибку.
  • 0
    Неважно, это работает сейчас! Спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню