PHP에서 PDO를 사용하여 MySQL 저장 프로시저 변수 검색
MySQL 저장 프로시저에서 LAST_INSERT_ID() 값을 검색하는 것은 어려운 작업일 수 있습니다. . 온라인에 충분한 문서가 있음에도 불구하고 많은 개발자가 프로세스를 파악하기 어려운 경우가 많습니다. 이 문서의 목표는 PHP PDO를 사용하여 변수 값을 검색하는 단계별 가이드를 제공하여 이 문제를 이해하는 것입니다.
'IN', 'INOUT' 및 'OUT'이 포함된 PHP 프로시저 매개변수 매개변수
변수를 검색하는 핵심은 관련된 2단계 프로세스를 이해하는 것입니다. 먼저, 필요한 입력 매개변수와 결과를 저장할 변수를 사용하여 프로시저를 실행해야 합니다. 이후 별도의 쿼리가 실행되어 지정된 변수에서 값을 검색합니다.
PDO를 사용하여 MySQL 저장 프로시저를 검색하는 2단계 프로세스
이 프로세스를 보여주기 위해, 다음 시나리오를 고려해 보겠습니다.
SQL 프로시저:
CREATE PROCEDURE `demoSpInOutSqlVars`(IN pInput_Param INT, INOUT pInOut_Param INT, OUT pOut_Param INT) BEGIN /* * Pass the full names of SQL User Variable for these parameters. e.g. '@varInOutParam' * These 'SQL user variables names' are the variables that Mysql will use for: * 1) finding values * 2) storing results * * It is similar to 'variable variables' in PHP. */ SET pInOut_Param := ABS(pInput_Param) + ABS(pInOut_Param); /* always positive sum */ SET pOut_Param := ABS(pInput_Param) * -3; /* always negative * 3 */ END
PHP 코드:
// DB Connection $db = appDIC('getDbConnection', 'default'); // get the default db connection $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, true); $db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); // Set PHP Variables $phpInParam = 5; $phpInOutParam = 404; // PHP InOut variable $phpOutParam = null; // PHP Out variable // Define and Prepare the SQL procedure call $sql = "call demoSpInOut(:phpInParam, @varInOutParam, /* mysql variable name will be read and updated */ @varOutParam)"; /* mysql variable name that will be written to */ $stmt = $db->prepare($sql); // Bind PHP Variables and Set SQL Variables $stmt->bindParam(':phpInParam', $phpInParam, PDO::PARAM_INT); $db->exec("SET @varInOutParam = $phpInOutParam"); // This is safe as it just sets the value into the MySql variable. // Execute the procedure $allOk = $stmt->execute(); // Get the SQL Variables into the PHP variables $sql = "SELECT @varInOutParam AS phpInOutParam, @varOutParam AS phpOutParam FROM dual"; $results = current($db->query($sql)->fetchAll()); $phpInOutParam = $results['phpInOutParam']; $phpOutParam = $results['phpOutParam']; // Display the PHP variables echo "phpInParam = " . $phpInParam . "\n"; echo "phpInOutParam = " . $phpInOutParam . "\n"; echo "phpOutParam = " . $phpOutParam . "\n";
추가 참고 사항:
결론:
PHP PDO에서 MySQL 저장 프로시저 변수 검색은 프로시저를 실행하고 SQL 사용자 변수에서 값을 검색하는 것과 관련된 다각적인 프로세스입니다. 위에 설명된 단계를 따르면 개발자는 PDO를 사용하여 MySQL 저장 프로시저에서 필요한 변수에 효율적으로 액세스할 수 있습니다.
위 내용은 PHP에서 PDO를 사용하여 MySQL 저장 프로시저 변수를 어떻게 검색합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!