首页 > 编程 > php中调用mysql存储过程的两个问题

php中调用mysql存储过程的两个问题

2007年5月1日

一、存储过程返回一个结果集的问题

正常情况下,如果在php中调用一个mysql存储过程,而该过程返回一个结果集的话,那么会收到“#1312 – PROCEDURE XXX can’t return a result set in the given context”的错误提示。
解决方法是,在用mysql_connect()连接数据库时,使用最后一个参数client_flags,设该参数值为0×20000,即如下:

define(‘CLIENT_MULTI_RESULTS’, 0×20000);
$db = mysql_connect(“dbhost”, “dbuser”, “dbpasswd”,1,CLIENT_MULTI_RESULTS);

二、提示“Lost connection to MySQL server during query”的问题

如果在一个页面中调用了不止一次存储过程,就可能收到上面的提示。一个省事的方法就是每次调用储存过程都重connect一下数据库。
在网上查了一下这个问题,有的人说可以在phpinfo()中看一下mysql client API的版本,至少在5.0.15以上才行,不过我的已然是5.0.18了。还有说要改php.ini,设置这个参数:set-variable=thread_stack=256k

编程 ,

  1. weilian
    2007年11月9日20:50 | #1

    我的也是的 想在一个页面调用多次过程不知为何就是报Lost connection to MySQL server during query
    不知道你的问题如何解决的 希望告诉我一下 ^_^

  1. 目前还没有任何 trackbacks 和 pingbacks.