У меня ошибка, заполняющая столбец в моей таблице 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. Это очень тонкая картина.
Наконец, я опубликую снимок экрана своей формы, чтобы показать, что он заполняется правильно.
Спасибо, что посмотрели и помогли! ЭТО ОБОРОТЬ СООБЩЕНИЕ ОШИБКИ
Неопределенный индекс появляется, потому что ключ, который вы используете в своем массиве, не был получен с запросом. В текущем запросе выбирается значение [Common Name] из таблицы, поэтому "Common Name" будет единственным ключом, доступным для каждой строки. Если идентификатор - это столбец в вашей таблице, попробуйте изменить свой запрос так:
$db->query("SELECT [ID], [Common Name] FROM dbo.All_Animals");