MySQL과 PHP는 웹 개발에 자주 사용되는 기술입니다. 그 중 저장 프로시저는 MySQL의 중요한 기능입니다. 이번 글에서는 MySQL 저장 프로시저를 소개하고 이를 PHP 언어와 결합하여 구현해 보겠습니다.
MySQL 저장 프로시저는 프로그램에서 정의하고 호출할 수 있는 재사용 가능한 SQL 코드 블록입니다. 매개변수를 받아들이고 값을 반환하는 함수와 유사합니다. 저장 프로시저는 MySQL 서버 측에 저장되고 클라이언트 코드에서 호출될 수 있습니다.
MySQL 저장 프로시저의 구문은 다른 언어의 함수 및 프로시저와 유사합니다. CREATE, PROCEDURE, END 세 가지 키워드로 구성됩니다. CREATE PROCEDURE 키워드 뒤에는 저장 프로시저의 이름과 매개변수 목록, 저장 프로시저의 본문, 마지막으로 END 키워드가 옵니다.
다음은 간단한 MySQL 저장 프로시저 예입니다.
CREATE PROCEDURE `get_employee`(IN id INT, OUT name VARCHAR(50), OUT age INT) BEGIN SELECT `name`, `age` INTO name, age FROM `employee` WHERE `id` = id; END
위 저장 프로시저는 id 매개변수를 받아들이고 직원 테이블에서 id에 해당하는 이름과 나이를 쿼리한 다음 이를 이름과 나이 출력 매개변수에 할당합니다.
PHP 코드에서 MySQL 저장 프로시저를 호출하는 것은 매우 간단합니다. 저장 프로시저를 호출하려면 MySQLi 확장 또는 PDO 확장에서 제공하는 CALL 문을 사용할 수 있습니다. 다음은 MySQLi 확장을 사용하여 MySQL 저장 프로시저를 호출하는 샘플 코드입니다.
// 配置连接参数 $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // 建立连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检查连接 if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // 调用存储过程 $id = 1; $stmt = $conn->prepare("CALL get_employee(?, ?, ?)"); $stmt->bind_param("i", $id); $stmt->bind_result($name, $age); $stmt->execute(); $stmt->fetch(); $stmt->close(); echo "Name: ".$name.", Age: ".$age;
위 코드는 MySQL 데이터베이스에 연결한 다음 id 매개변수를 전달하는 CALL 문을 통해 get_employee라는 저장 프로시저를 호출합니다. 그런 다음 bind_result 메소드를 사용하여 저장 프로시저의 출력 매개변수를 PHP 변수에 바인딩하고 마지막으로 저장 프로시저를 실행한 후 fetch 메소드를 사용하여 출력 매개변수 값을 가져옵니다.
MySQL 저장 프로시저는 코드 재사용성을 향상시키고, 데이터 보안을 강화하며, 성능을 향상시키고 데이터베이스 상호 작용을 줄일 수 있는 매우 실용적인 기능입니다. PHP 코드에서 MySQL 저장 프로시저를 호출하는 것도 매우 쉽습니다. MySQLi 확장이나 PDO 확장에서 제공하는 CALL 문만 사용하면 됩니다. 이 기사가 MySQL 저장 프로시저와 PHP의 저장 프로시저 호출을 더 잘 이해하는 데 도움이 되기를 바랍니다.
위 내용은 PHP에서 MySQL 저장 프로시저를 호출하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!