저장 프로시저와 함수가 MySql5.0에 도입되었습니다. PHP에서는 이 작업을 직접 지원하지 않습니다. 그러나 Mysql PHP API의 설계로 인해 이전 PHP 버전에서는 mysql php api의 저장 프로시저 및 함수에 대한 호출을 지원할 수 있습니다.
PHP에서 저장 프로시저와 함수를 호출합니다.
1. 저장 프로시저를 호출하는 메서드.
가. 저장 프로시저에 IN/INOUT 매개변수가 있는 경우 변수를 선언하고 해당 매개변수를 저장프로시저에 입력합니다. 변수는
PHP 변수입니다(필수는 아니지만 PHP 변수가 없는 경우). , Mysql
변수인 동적 입력을 수행할 방법이 없습니다.
나. 저장 프로시저에 OUT 변수가 있는 경우 Mysql 변수를 선언합니다.
mysql 변수 선언은 특별합니다. mysql 서버는 실제로 이 변수의 존재를 알아야 합니다.
set @mysqlvar=$phpvar;
입력 c. mysql_query()/mysql_db_query()를 사용하여 mysql 변수 선언문을 실행합니다.
mysql_query("set @mysqlvar【=$pbpvar】");
이렇게 mysql 서버에는 @mysqlar라는 변수가 있습니다. IN 매개변수인 경우 해당 값은 phpar에서 전달될 수 있습니다.
라. 저장 프로시저인 경우.
1. 호출 프로시저() 문을 실행합니다.
그것이 mysql_query ("Call Proceduer ([VAR1] ...)")2. 반환 값이 있으면 select @ar를 실행하고, 실행 결과를 반환한다. . mysql_query("select @var)" 다음 작업은 php에서 일반적인 mysql 문을 실행하는 것과 동일하다. 결과는 mydql_fetch_row()와 같은 함수를 통해 얻을 수 있습니다. If 함수. select function()을 직접 실행하면 됩니다.
$host="localhost";
$user="root";
$password="11212";
$db="samp_db";
$ dblink=mysql_connect($host,$user,$password)
또는 die("mysql에 연결할 수 없습니다.");
mysql_select_db($db,$dblink)
또는 die("연결할 수 없습니다." select samp_db");
$res=mysql_query("set @a=$password",$dblink);
$res=mysql_query("call aa(@a)",$dblink);
$res=mysql_query("select @a",$dblink);
$row=mysql_fetch_row($res);
echo $row[0];