PHP에서 입력 및 출력 매개변수를 모두 사용하여 MySQL 저장 프로시저를 호출하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-11-07 04:09:03
원래의
139명이 탐색했습니다.

How to Call MySQL Stored Procedures with Both Input and Output Parameters in PHP?

PHP에서 입력 및 출력 매개변수("INOUT" 매개변수 아님)를 모두 사용하여 MySQL 저장 프로시저 호출

소개:

PHP에서 MySQL 저장 프로시저를 호출하는 것은 일반적인 작업이지만 입력 및 출력 매개변수를 모두 처리하는 경우에는 더 복잡해질 수 있습니다. 이 문서에서는 MySQLi의 절차적 인터페이스를 사용하여 이러한 호출을 수행하는 데 필요한 구체적인 접근 방식을 안내합니다.

저장 프로시저 구성:

MySQL에서 다음 저장 프로시저를 고려하세요.

DELIMITER $$
CREATE PROCEDURE `test_proc`(
    IN input_param_1 INT,
    IN input_param_2 INT,
    IN input_param_3 INT,
    OUT output_sum INT,
    OUT output_product INT,
    OUT output_average INT
)
BEGIN
    SET output_sum = input_param_1 + input_param_2 + input_param_3;
    SET output_product = input_param_1 * input_param_2 * input_param_3;
    SET output_average = (input_param_1 + input_param_2 + input_param_3) / 3;
END$$
DELIMITER ;
로그인 후 복사

입력 및 출력 매개변수 바인딩:

저장 프로시저를 호출하고 입력 및 출력 매개변수를 모두 지정하려면 mysqli_stmt_bind_param() 함수를 사용합니다.

mysqli_stmt_bind_param($call, 'iii', $procInput1, $procInput2, $procInput3);
로그인 후 복사

여기서 $procInput1, $procInput2 및 $procInput3은 입력 매개변수입니다.

출력 매개변수를 검색하려면 저장 프로시저에서 사용자 변수를 사용한 다음 해당 값을 가져와야 합니다. 호출 실행:

$select = mysqli_query($mysqli, 'SELECT @sum, @product, @average');
$result = mysqli_fetch_assoc($select);
로그인 후 복사

여기서 $select는 저장 프로시저에서 설정한 사용자 변수(@sum, @product, @average)를 검색하는 쿼리입니다.

코드 예:

전체 코드 예는 다음과 같습니다.

$procInput1 = 123;
$procInput2 = 456;
$procInput3 = 789;

$mysqli = mysqli_connect();

$call = mysqli_prepare($mysqli, 'CALL test_proc(?, ?, ?, @sum, @product, @average)');
mysqli_stmt_bind_param($call, 'iii', $procInput1, $procInput2, $procInput3);
mysqli_stmt_execute($call);

$select = mysqli_query($mysqli, 'SELECT @sum, @product, @average');
$result = mysqli_fetch_assoc($select);

$procOutput_sum     = $result['@sum'];
$procOutput_product = $result['@product'];
$procOutput_average = $result['@average'];
로그인 후 복사

이러한 단계를 따르면 입력 및 출력 매개변수가 모두 필요한 MySQL 저장 프로시저를 성공적으로 호출할 수 있습니다.

위 내용은 PHP에서 입력 및 출력 매개변수를 모두 사용하여 MySQL 저장 프로시저를 호출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!