Heim > Backend-Entwicklung > PHP-Tutorial > PHP调用MySQL的存储过程_PHP

PHP调用MySQL的存储过程_PHP

WBOY
Freigeben: 2016-06-01 12:20:34
Original
764 Leute haben es durchsucht

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

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

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

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

<font face="新宋体"> <table style="BORDER-RIGHT: #0099cc 1px solid; TABLE-LAYOUT: fixed; BORDER-TOP: #0099cc 1px solid; BORDER-LEFT: #0099cc 1px solid; BORDER-BOTTOM: #0099cc 1px solid" cellspacing="0" cellpadding="6" width="95%" align="center" border="0"> <tbody> <tr> <td style="WORD-WRAP: break-word" bgcolor="#ddedfb">$rs = mysqli_query("call func('str')", $conn); </td> </tr> </tbody> </table> </font>

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

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

因为我不是很了解MySQL扩展,以上纯属经验总结。

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage