。调用存储过程的方法。
a。如果存储过程有 IN/INOUT参数,声明一个变量,输入参数给存储过程,该变量是一对,一个php变量(也可以不必,只是没有php变量时,没有办法进行动态输入),一个Mysql变量。
b。如果存储过程有OUT变量,声明一个Mysql变量。mysql变量的声明比较特殊,必须让mysql服务器知道此变量的存在,其实也就是执行一条mysql语句。入set @mysqlvar=$phpvar ;
c。使用mysql_query()/mysql_db_query()执行mysql 变量声明语句。
代码如下 | 复制代码 |
mysql_query("set @mysqlvar【=$pbpvar】"); |
这样,在mysql服务器里面就有一个变量,@mysqlar。如果时IN参数,那么其值可以有phpar传入
例
利用mysqli函数实例
我们先可在mysql创建一个存储过程
代码如下 | 复制代码 |
mysql> delimiter // |
然后在php中如下写
代码如下 | 复制代码 | ||||||
Employee listing
$hostname = "localhost"; if (IsSet ($_POST['submit'])) { $dbh = new mysqli($hostname, $username, $password, $database); /* check connection */ if ($result_set = $dbh->query("call employee_list( $dept_id )")) {
$dbh->close(); } ?> |
核心代码就是
代码如下 | 复制代码 |
$result_set = $dbh->query("call employee_list( $dept_id )") |
这句了employee_list是我们的mysql存储过程了