"mysqli_real_escape_string()" 함수는 방지하기 위해 문자열의 특수 문자를 이스케이프하도록 설계되었습니다. SQL 주입 공격. 그러나 "mysqli_real_escape_string()에는 정확히 2개의 매개변수가 필요하며 1개가 주어졌습니다."라는 오류가 발생할 수 있는 특정 매개변수 요구사항이 있습니다.
문제 분석:
제공된 코드 PHP 버전을 확인하고 그에 따라 "mysqli_real_escape_string()"을 사용하려고 시도합니다. 그러나 함수 호출에는 이스케이프할 문자열만 포함되어 있으며 첫 번째 필수 매개변수인 mysqli 링크가 누락되었습니다.
문서 설명:
공식 문서에 따르면, "mysqli_real_escape_string()"에는 두 개가 필요합니다. 매개변수:
해결책:
오류를 해결하려면 "mysqli_real_escape_string()" 함수를 호출할 때 코드에 두 매개 변수가 모두 포함되어야 합니다. 업데이트된 버전은 다음과 같습니다.
if (phpversion() >= '4.3.0') { $string = mysqli_real_escape_string($link, $string); } else { $string = mysqli_escape_string($link, $string); }
mysqli 링크가 첫 번째 매개변수로 제공되도록 함으로써 "mysqli_real_escape_string()" 함수가 입력 문자열을 적절하게 이스케이프하고 SQL 주입 취약점을 방지합니다.
위 내용은 `mysqli_real_escape_string()`이 '정확히 2개의 매개변수를 기대하고 1개가 주어짐'을 발생시키는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!