当前位置: 首页 > 图文教程 > 网络编程 > PHP > php调用mysql存储过程

PHP
php预定义常量
ob_start(),ob_start(''ob_gzhandler'')使用
一个PHP模板,主要想体现一下思路
简单的过滤字符串中的HTML标记
介绍几个array库的新函数 php
用ADODB来让PHP操作ACCESS数据库的方法
ADODB的数据库封包程序库
Adodb的十个实例(清晰版)
PHP通过COM使用ADODB的简单例子
使用adodb lite解决问题
PHP获得用户使用的代理服务器ip即真实ip
adodb与adodb_lite之比较
smarty+adodb+部分自定义类的php开发模式
刚才在简化php的库,结果发现很多东西
PHP中通过ADO调用Access数据库的方法测试不通过
AJAX for PHP简单表数据查询实例
PHP文件上传实例详解!!!
PHP小技巧搜集,每个PHPer都来露一手
超强分页类2.0发布,支持自定义风格,默认4种显示模式
默默简单的写了一个模板引擎

PHP 中的 php调用mysql存储过程


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 135 ::
收藏到网摘: n/a

前面转载了一篇《php调用mysql存储过程的文章》经过测试,发现文章中的方法似乎不可行!
调用带有select语句的存储过程就出现 PROCEDURE p can't return a result set in the given context的错误。google了半天,在mysql官网上找到一些说法,db_mysql的模块不支持存储过程调用,解决方法是用db_mysqli。测试了一下,果然可以了。
用法比较简单,没啥好说的,从网上copy一段代码吧:

<?php
/* Connect to a MySQL server */
$link = mysqli_connect(
'localhost', /* The host to connect to */
'root', /* The user to connect as */
'root', /* The password to use */
'db_name'); /* The default database to query */
if (!$link) {
printf("Can't connect to MySQL Server. Errorcode: %s\n", mysqli_connect_error());
exit;
}
/* Send a query to the server */
if ($result = mysqli_query($link, "call se_proc('crm')")) {
/* Fetch the results of the query */
while( $row = mysqli_fetch_array($result) ){
echo ($row[0]. "--------- SR. " . $row[1] . "
");
}
/* Destroy the result set and free the memory used for it */
mysqli_free_result($result);
}
/* Close the connection */
mysqli_close($link);
?>
郁闷的是费了半天劲搞出来的存储过程效率居然不如以前- -