반응형
예를 들어, 다음 쿼리를 확인하십시오.
$query = "SELECT * FROM users WHERE user='{$_POST['username']}';
용도는 무엇입니까?
문자열 컨텍스트에서 나는 그것이 해결하는 문제를 이해합니다.
I can do stuff like
$animal = "cat"
echo "{$ animal} s." // 고양이 출력
그러나 위에 게시 한 SQL에서는 이해하지 못합니다. 다음도 똑같이 좋지 않을까요?
$query = "SELECT * FROM users WHERE user='$_POST['username']' AND password='$_POST['password']'";
그렇다면 {및} 사용은 어디에서 편리할까요? SQL 컨텍스트에서 예를 들어 보시겠습니까?
해결 방법
중괄호는 복잡한 변수 표현식을위한 것입니다. SQL 인터페이스가 아닌 PHP로 해석됩니다.
$query = "SELECT * FROM users WHERE user='$_POST['username']' AND password='$_POST['password']'";
위의 경우 구문 분석 오류가 발생합니다. 중괄호없이 다음과 같이 작성해야합니다.
$query = "SELECT * FROM users WHERE user='$_POST[username]' AND password='$_POST[password]'";
핵심 따옴표가 없다는 점에 유의하십시오. 이것은 단순한 배열 액세스와 단순한 객체 속성 표현식에서만 작동합니다. 더 복잡한 경우에는 중괄호를 사용하십시오.
그러나 더 복잡한 곱슬 문자열 구문에 대한 예를 제공하기 위해 다음과 같이합니다.
$query = "SELECT * FROM users WHERE user={$_POST->id->sql['username']}";
(일부 인라인 필터링 및 인용을 수행합니다. 예를 들어 기본 PHP 설정에서는 작동하지 않습니다.)
참조 페이지 https://stackoverflow.com/questions/9104684
반응형
'MySql' 카테고리의 다른 글
MySQL Magento의 Frontend에 제품 생성 및 마지막 편집 날짜 표시 (0) | 2020.09.21 |
---|---|
MySQL PHP에서 정의되지 않은 변수 오류 (0) | 2020.09.21 |
MySQL 30 일이 지난 모든 레코드 선택 (0) | 2020.09.21 |
MySQL Mac에서 PYTHON_EGG_CACHE 환경 변수를 설정하는 방법은 무엇입니까? (0) | 2020.09.21 |
MySQL usermeta meta_key가 존재하면 Wordpress (0) | 2020.09.21 |
댓글