원인 :“알림 : 초기화되지 않은 것”이 나타 납니까?
사용자가 작성하는 양식이 양식에 "프로젝트 이름", "프로젝트 날짜", "도시"등과 같은 필드가 여러 개 있습니다. 사용자가 성장하는 양식 수에 따라 제 목표는 :
- 양식 수를 반복하다
- SQL 삽입 문 생성
하지만 PHP는 내가 이해하지 못하는 것 같은 알림을 던집니다.
주의 :
알림 : 초기화되지 않은 시스템 : 1 ... dataPasser.php on line 90
PHP
$myQuery = array();
if ($varsCount != 0)
{
for ($i=0; $i <= $varsCount; $i++)
{
$var = "insert into projectData values ('" . $catagory[$i] . "', '" . $task[$i] . "', '" . $fullText[$i] . "', '" . $dueDate[$i] . "', null, '" . $empId[$i] ."')";
array_push($myQuery, $var);
}
}
이 문제에 대한 내용이 있고 추론하는 데 어려움이 있습니다. 배열이 초기화되지 않은 원인을 이해하는 데 도움을 주시면 감사하겠습니다.
이 오류는 다음 변수가 실제로 어디에 있습니까 배열 대신 null 인 경우 발생합니다 $var[$i]
.
$catagory
$task
$fullText
$dueDate
$empId
간단히 말해, 삽입 쿼리의 모든 것입니다.
아마도 $catagory
변수의 철자가 틀렸습니까?
그것은 당신의 배열 중 하나가 실제로 배열이 아님을 의미합니다.
귀하의 경우 체크는 선택합니다. $ varsCount가 0이면 루프는 어쨌든 실행되지 않습니다.
배열을 반복하는 횟수가 배열의 실제 크기보다 클 때 오류가 있습니다. 예를 들면 :
$one="909";
for($i=0;$i<10;$i++)
echo ' '.$one[$i];
오류가 표시됩니다. 첫 번째 경우에는 i ..의 mod를 사용할 수 있습니다.
function mod($i,$length){
$m = $i % $size;
if ($m > $size)
mod($m,$size)
return $m;
}
for($i=0;$i<10;$i++)
{
$k=mod($i,3);
echo ' '.$one[$k];
}
(아마도 값이 배열처럼 배열이 아닐 수도 있습니다).
$k = 2;
$k[0];
사용하기 전에 배열을 테스트하고 초기화하십시오.
if( !isset($catagory[$i]) ) $catagory[$i] = '' ;
if( !isset($task[$i]) ) $task[$i] = '' ;
if( !isset($fullText[$i]) ) $fullText[$i] = '' ;
if( !isset($dueDate[$i]) ) $dueDate[$i] = '' ;
if( !isset($empId[$i]) ) $empId[$i] = '' ;
$catagory[$i]
존재하지 않는 경우 (초기화되지 않은) 하나를 생성합니다. 그게 전부입니다. => PHP는 주소의 테이블을 읽으려고 시도 $i
하지만이 주소에는 아무것도없고이 주소는 존재하지 않습니다. => PHP는 알림을 반환하고 문자열에 아무것도 넣지 않습니다. 따라서 코드가 매우 깨끗하지 않으며 서버 성능을 저하시키는 리소스가 약간 필요합니다 (아주 조금만).
MySQL 테이블 기본값에주의
if( !isset($dueDate[$i]) ) $dueDate[$i] = '0000-00-00 00:00:00' ;
또는
if( !isset($dueDate[$i]) ) $dueDate[$i] = 'NULL' ;
배열의 내용을 확인하십시오.
echo '<pre>' . print_r( $arr, TRUE ) . '</pre>';
참조 URL : https://stackoverflow.com/questions/1263636/what-causes-notice-uninitialized-string-offset-to-appear
'ProgramingTip' 카테고리의 다른 글
CSS Z- 색인이 작동하지 발생 (절대 위치) (0) | 2020.12.25 |
---|---|
"rimraf"가 무엇을 의미하는지 아는 사람이 있습니까? (0) | 2020.12.25 |
REST와 WebService의 차이점 (0) | 2020.12.25 |
PHP의 list ()에 해당하는 Javascript (0) | 2020.12.25 |
는 무엇을 의미합니까? (0) | 2020.12.25 |