[SQL] 주의 : 정의되지 않은 인덱스 [중복]
SQL주의 : 정의되지 않은 인덱스 [중복]
$thread_id = (isset($_GET['id']));
$thread_id = intval($_GET['id']);
$q = mysql_query("SELECT * FROM threads WHERE id = $thread_id");
당신은 하나 개의 변수에 두 가지 기능을 사용할 수 없습니다 ?? 그 설정하지만 여전히 저를주는 경우에 당신은 내가 확인해 볼 수 있듯이 :
주의 사항 : 정의되지 않은 인덱스 : C에서 ID : \ WAMP \ www가 \ bfhq \ thread.php 라인 7
해결법
-
==============================
1.이 시도:
이 시도:
$thread_id = isset($_GET['id']) ? intval($_GET['id']) : 0;
어느 같이 판독 "$ _GET는 [ 'ID']를 설정하고, 설정 한 경우에 $ thread_id INTVAL ($ _ GET [ 'ID'), 그렇지 않은 경우 0으로 설정"
-
==============================
2.TRUE / FALSE :는 isset ()는 부울 값을 반환합니다. 당신이 결정하려면 여부 $ _GET [ "ID가"]로 설정되어있는 경우는 IF 문에 그렇게 할 필요가있다, 또는 삼항 연산자를 통해.
TRUE / FALSE :는 isset ()는 부울 값을 반환합니다. 당신이 결정하려면 여부 $ _GET [ "ID가"]로 설정되어있는 경우는 IF 문에 그렇게 할 필요가있다, 또는 삼항 연산자를 통해.
if (isset($_GET["id"])) { $thread_id = $_GET["id"]; // Bad idea taking values in from $_GET directly } else { die("Thread id not set"); }
-
==============================
3.이 오류는 php.ini 파일에서 오류 / 경고 수준 설정에 따라 달라집니다. 그것의 좋은 방법은 사용하는 ...
이 오류는 php.ini 파일에서 오류 / 경고 수준 설정에 따라 달라집니다. 그것의 좋은 방법은 사용하는 ...
array_key_exists('id', $_GET);
http://us2.php.net/manual/en/function.array-key-exists.php
또한 : 당신이 그렇게하기 전에 당신은 $ _GET에서 해당 입력을 소독합니다. 당신은 자신이 MySQL의 주입에 열 떠날거야.
-
==============================
4.당신은 단순히 error_reporting은 (4)를 사용하여 모든 통지 제거 할 수 ;. 또 다른, 어쩌면, 방법은 원유하지만 작업 통지를 억제하고 변수가 될 수 살균하기 :
당신은 단순히 error_reporting은 (4)를 사용하여 모든 통지 제거 할 수 ;. 또 다른, 어쩌면, 방법은 원유하지만 작업 통지를 억제하고 변수가 될 수 살균하기 :
$thread_id = (int)@$_GET["id"];
당신이 이런 일을 많이 할 경우, 당신은 아마 (예. GET_INT ( "아이디")) filter_var 살펴보고 ()와 별도의 함수로 모두에게 기능을 넣고 싶습니다.
from https://stackoverflow.com/questions/1023099/notice-undefined-index by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 여러 자체 조인 결과에 GROUP에 따라 (0) | 2020.07.19 |
---|---|
[SQL] 포스트 그레스는 - 어디에서 (목록) - 열이 존재하지 않습니다 (0) | 2020.07.19 |
[SQL] 값이 암시 적으로 날짜 형식으로 변환하는 방법을 이해 할 수 없습니다 (0) | 2020.07.18 |
[SQL] 어떻게 VBA를 사용하여 서식있는 텍스트 메모에 액세스 테이블에 텍스트 필드를 변환하는 (0) | 2020.07.18 |
[SQL] MS 액세스 날짜 트리거 에뮬레이션 (0) | 2020.07.18 |