>  기사  >  데이터 베이스  >  PHP에서 MySQL 저장 프로시저를 사용하는 방법에 대해 이야기해 보겠습니다.

PHP에서 MySQL 저장 프로시저를 사용하는 방법에 대해 이야기해 보겠습니다.

PHPz
PHPz원래의
2023-04-17 15:29:26571검색

여기에서는 PHP와 MySQL의 저장 프로시저를 소개합니다.

저장 프로시저란 SQL문과 제어문으로 구성된 재사용 가능한 SQL 프로그램을 말합니다. 저장 프로시저는 크고 복잡한 쿼리를 단순화하여 사용 및 유지 관리를 더 쉽게 만들고 대규모 애플리케이션의 성능을 향상시킬 수도 있습니다. PHP와 MySQL은 모두 애플리케이션의 일부로 실행하거나 개발 및 연구용 예제로 사용할 수 있는 저장 프로시저를 지원합니다.

저장 프로시저를 사용하기 위해 PHP와 MySQL은 모두 해당 기능과 구문을 제공합니다. 아래에서는 PHP에서 MySQL 저장 프로시저를 사용하는 방법의 기본 구문을 소개합니다.

MySQL 저장 프로시저를 생성하기 위한 기본 구문은 다음과 같습니다.

CREATE PROCEDURE procedure_name
([IN/OUT] parameter_name data type [(size)]) 
BEGIN
--  SQL Statements
END;

여기서 "procedure_name"은 저장 프로시저의 이름이고 "parameter_name"은 IN, OUT 또는 INOUT 유형일 수 있는 선택적 매개 변수 이름입니다. "데이터 유형"은 매개변수 데이터 유형이고, "크기"는 매개변수 크기입니다. 예를 들어 "getcustomerinfo"라는 저장 프로시저를 생성할 수 있습니다.

CREATE PROCEDURE getcustomerinfo (IN id INT)
BEGIN
SELECT * FROM customers WHERE customer_id = id;
END;

PHP에서 저장 프로시저를 사용하는 기본 구문은 다음과 같습니다.

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

// 调用存储过程
if ($stmt = $mysqli->prepare("CALL getcustomerinfo(?)")) {
    // 绑定参数
    $stmt->bind_param("i", $id);

    // 执行存储过程
    $stmt->execute();

    // 获取结果集
    $result = $stmt->get_result();

    // 处理结果集
    while ($row = $result->fetch_assoc()) {
        echo $row["customer_id"] . " " . $row["customer_name"] . "<br>";
    }

    // 释放结果集
    $result->free();

    // 关闭语句
    $stmt->close();
}

위 예에서는 먼저 저장 프로시저를 호출하고 SQL 문은 다음과 같습니다. "getcustomerinfo에 전화(?)". 그런 다음 바인딩_param 함수를 사용하여 매개변수를 바인딩합니다. 이 함수는 두 개의 매개변수를 허용합니다. 첫 번째는 매개변수 유형의 문자열이고 두 번째는 매개변수 값입니다. 이 예에서는 정수 값 $id를 바인딩합니다. 다음으로 저장 프로시저를 실행하고 결과 세트에서 각 데이터 행을 가져오는 fetch_assoc 함수를 사용하여 결과 세트를 가져옵니다. 마지막으로 결과 세트를 해제하고 명령문을 닫습니다.

저장 프로시저를 사용할 때는 다음 사항에도 주의해야 합니다.

  1. 저장 프로시저는 반드시 CREATE PROCEDURE 문을 사용하여 데이터베이스에 생성해야 합니다.
  2. 저장 프로시저 호출 시 준비 및 실행 기능을 사용할 수도 있고, 쿼리 기능을 사용하여 저장 프로시저를 직접 실행할 수도 있습니다. 쿼리 함수를 사용할 때는 저장 프로시저 이름 앞에 CALL 키워드를 사용해야 합니다.
  3. 저장 프로시저를 호출할 때 모든 입력 매개변수를 바인딩해야 합니다.
  4. 저장 프로시저에서 반환되는 결과는 결과 집합, 영향을 받는 행 수 등일 수 있습니다. 결과 세트를 가져올 때 get_result 함수를 사용해야 합니다.
  5. 저장 프로시저의 실행은 BEGIN 및 END 문으로 묶일 수 있습니다. BEGIN과 END 사이의 문은 저장 프로시저의 본문으로 실행됩니다.

요약하자면, 저장 프로시저는 애플리케이션을 더욱 효율적이고 쉽게 유지 관리할 수 있게 해주는 SQL 프로그램입니다. PHP와 MySQL은 모두 저장 프로시저 사용을 지원합니다. 저장 프로시저의 구문과 사용에 능숙하면 애플리케이션 개발 및 유지 관리에 도움이 될 수 있습니다.

위 내용은 PHP에서 MySQL 저장 프로시저를 사용하는 방법에 대해 이야기해 보겠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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