使用PHP调用MySQL的存储过程

数据库 MySQL 数据库运维 后端
本文讲解了使用PHP调用MySQL存储过程的方法和可能遇到的问题。

MySQL从5.0开始才引入存储过程,反正以前做应用的时候从没碰过,不过现在因为主要作内部系统,所以很多应用都用到了存储过程,当然前台有时候也需要调用MySQL存储过程,PHP的MySQL Lib好像支持的不是很好,不过我搜索了些资料,虽然不多,但是还是尝试的使用了,现在介绍一下方法,以便用到的朋友不用再头疼。

lMySQL扩展也是支持存储过程的,不过只支持无返回结果的存储过程,如果该存储过程存在输出,这个调用就会抛出一个错误,具体错误忘记了。调用方式很简单:

$rs = mysql_query("call func('str')", $conn); 

这个如果有返回结果,比如返回字符串,就会报错,我现在找到的解决方法是使用MySQLi扩展:

$rs = mysqli_query("call func('str')", $conn); 

这样$rs就作为一个普通的MySQL Result来使用了,非常方便。

在调用存储过程的时候,可能还会碰到一个问题,那就是可能会顺序调用多个存储过程,这样同样会报错,解决方法就是在调用一个存储过程并处理完成后,手动关闭MySQL链接,然后再次connect,再调用另一个存储过程再处理,需要调用多少个存储过程,就重新连接多少次。

【编辑推荐】

  1. PHP+MySQL视频教程
  2. 专题:MySQL数据库入门与精通教程
  3. MySQL中数据表操作详解
责任编辑:佚名 来源: PHP中文站
相关推荐

2010-05-19 14:13:12

MySQL存储过程

2010-10-09 16:26:59

mysql存储过程

2010-04-16 11:11:46

Oracle存储过程

2010-06-01 16:50:29

MySQL存储过程

2020-11-02 13:24:49

MySQL数据库存储

2009-06-17 10:33:17

Hibernate 存

2010-06-04 13:50:24

MySQL存储过程

2011-08-25 11:36:50

PreparedStaJDBC存储过程调用

2009-09-15 11:08:01

LinQ调用存储过程

2018-11-05 15:14:42

MySQL编程语言技术

2009-07-08 17:17:16

JDBC调用存储过程

2009-06-19 16:22:55

Java存储过程

2009-12-28 13:59:12

ADO调用存储过程

2012-03-01 13:34:02

Java

2009-09-17 11:32:52

LINQ调用存储过程

2010-06-02 16:49:24

MySQL存储过程

2010-03-03 15:17:46

Python调用MyS

2010-11-12 09:46:55

Sql Server存

2012-05-10 11:17:23

JavaSQL Server

2017-09-04 11:48:56

MybatisOracle存储过程
点赞
收藏

51CTO技术栈公众号