2013-12-18 4 views
0

내 php 양식에서 SQL 테이블의 열을 채우는 중 오류가 발생했습니다. 정의되지 않은 색인 : ID 오류가 나타납니다. 먼저 모든 데이터를 올바르게 표시하는 PHP/html 코드를 보여줄 것이며 스크린 샷을 보여줄 것입니다. 그리고 나서 SQL 테이블에 응답이 잘못 채워진 것을 보여줄 것입니다. 보고 주셔서 감사합니다!PHP에서 MS SQL 정의되지 않은 색인 오류

이 첫 번째 코드는 올바르게 작동하는 선택 항목을 만드는 곳입니다. 제 SQL 테이블에서 가져 오는 모든 항목이 올바르게 표시되기 때문에이 코드가 유용 할 것입니다. 내 MS SQL 테이블 모든 것이 내 animalCommoner 변수를 제외하고 제대로 내 MS 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> 

코드의이 다음 부분이다.

$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 테이블의 화면을 게시합니다. 그것은 매우 얇은 그림입니다. enter image description here

마침내 양식이 올바르게 채워지는 것을 보여주는 스크린 샷을 게시 할 것입니다. enter image description here

찾아 주셔서 감사합니다. 이 배열에 사용하여 키 당신은 쿼리와 검색되지 않았기 때문에 정의되지 않은 인덱스가 표시되고 오류 enter image description here

답변

3

의 폭파 메시지입니다. 현재 쿼리는 테이블에서 [Common Name] 값만 선택하므로 'Common Name'이 각 행에 사용할 수있는 유일한 키가됩니다. ID가 표의 열인 경우 다음과 같이 검색어를 변경해보십시오.

$db->query("SELECT [ID], [Common Name] FROM dbo.All_Animals"); 
+0

답변 해 주셔서 감사합니다. 쉐인, 내가 제안한 변경 사항을 적용했지만 여전히 슬픈 듯이 동일한 오류가 표시됩니다. – visualbasicNoob9000

+0

신경 쓰지 마세요, 지금 작동 중입니다! 고맙습니다! – visualbasicNoob9000

관련 문제