>  기사  >  백엔드 개발  >  PHP에서 MySQL 저장 프로시저를 호출하고 value_php 팁을 반환하는 방법

PHP에서 MySQL 저장 프로시저를 호출하고 value_php 팁을 반환하는 방법

WBOY
WBOY원래의
2016-05-16 20:27:18906검색

이 기사의 예에서는 PHP에서 mysql 저장 프로시저를 호출하고 실행한 다음 저장 프로시저에서 반환된 값을 반환하는 방법을 설명합니다. 참고용으로 공유하고 싶습니다. 구체적인 분석은 다음과 같습니다.

저장 프로시저를 호출하는 메서드

아. 저장 프로시저에 IN/INOUT 매개 변수가 있는 경우 변수를 선언하고 해당 매개 변수를 저장 프로시저에 입력합니다. 변수는 PHP 변수이거나 아닙니다. 그러나 PHP 변수가 없으면 동적으로 입력할 수 없습니다. MySQL 변수를 입력하세요.

ㄴ. 저장 프로시저에 OUT 변수가 있는 경우에는 Mysql 변수를 선언해야 합니다. mysql 서버는 실제로 이 변수의 존재를 알고 있어야 하며 set @mysqlvar=$를 입력해야 합니다. phpvar;

ㄷ. mysql_query()/mysql_db_query()를 사용하여 mysql 변수 선언문을 실행합니다.

코드는 다음과 같습니다.

코드 복사코드는 다음과 같습니다.
mysql_query("set @mysqlvar =$pbpvar");

이런 식으로 mysql 서버에는 @mysqlar라는 변수가 있는데, IN 매개변수라면 그 값을 phppar에서 전달할 수 있다.

예를 들어 mysqli 함수 인스턴스를 사용하면 먼저 mysql에 저장 프로시저를 생성할 수 있으며 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
mysql> mysql> CREATE PROCEDURE 직원 목록(OUT param1 INT)
-> 시작
-> SELECT COUNT(*) INTO param1 FROM
-> 종료
-> //
쿼리 확인, 0개 행이 영향을 받음(0.00초)
그런 다음 PHP에서 다음과 같이 작성하면 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

직원 목록

<양식 방법="게시물"

부서 ID 입력:

$호스트이름 = "로컬호스트"
$사용자 이름 = "루트"
$password = "비밀"
$database = "프로드"
if (IsSet ($_POST['제출'])) {
$dbh = new mysqli($hostname, $username, $password, $database)
/* 연결 확인 */
If (mysqli_connect_errno()) {
                 printf("연결 실패: %sn", mysqli_connect_error())
종료()
}  
$dept_id = $_POST['dept_id']
If ($result_set = $dbh->query("call Employees_list( $dept_id )")) {

'직원_ID성이름');
               while ($row = $result_set->fetch_object()) {
> >n", 
$row->employee_id, $row->성, $row->이름)
             }
} 다른 {
                 printf("

오류:%d (%s) %sn", mysqli_errno($dbh),
mysqli_sqlstate($dbh), mysqli_error($dbh))
}  
인쇄(" "); $dbh->닫기()
}
?>

핵심코드는 다음과 같습니다.



코드 복사

코드는 다음과 같습니다.
$result_set = $dbh->query("직원 목록( $dept_id ) 호출")

이 직원 목록은 mysql 저장 프로시저입니다.

이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.

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