"mysqli bind_param() 매개변수가 참조로 예상됨" 오류 문제 해결
"mysqli_stmt::bind_param()에 대한 "매개변수 3" 오류 참조일 것으로 예상되며, 주어진 값은 예상되는 유형 간의 불일치를 나타냅니다. mysqli_bind_param() 메서드에 입력과 제공된 값이 있습니다.
주어진 코드에서는 call_user_func_array()를 사용하여 값 배열을 mysqli_stmt_bind_param()에 전달합니다. 그러나 mysqli_bind_param()은 매개변수가 참조로 전달될 것으로 예상하는 반면 call_user_func_array()는 참조 또는 값을 허용합니다.
이 문제를 해결하려면 PHP 설명서에 제공된 다음 솔루션을 사용할 수 있습니다.
$refs = array(); foreach ($params as $key => $value) $refs[$key] = &$params[$key]; call_user_func_array(array($statement, 'bind_param'), $refs);
이 코드는 $params 배열의 요소에 대한 참조 배열($refs)을 생성하고 $refs 배열을 mysqli_stmt_bind_param()으로 지정하여 매개변수가 참조로 전달되도록 합니다.
또는 스프레드 연산자(최신 PHP 버전에서 사용 가능)를 사용하여 $params 배열의 요소를 참조로 직접 전달할 수 있습니다. :
call_user_func_array(array($statement, 'bind_param'), ...$params);
위 내용은 `mysqli_stmt::bind_param()`에 참조가 필요한 이유는 무엇이며 '참조가 될 것으로 예상되는 매개변수' 오류를 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!