>백엔드 개발 >PHP 튜토리얼 >`mysqli_stmt::bind_param()`에 참조가 필요한 이유는 무엇이며 '참조가 될 것으로 예상되는 매개변수' 오류를 어떻게 해결할 수 있습니까?

`mysqli_stmt::bind_param()`에 참조가 필요한 이유는 무엇이며 '참조가 될 것으로 예상되는 매개변수' 오류를 어떻게 해결할 수 있습니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-06 08:56:11261검색

Why Does `mysqli_stmt::bind_param()` Require References, and How Can I Fix the

"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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.