SpeedPHP技术交流论坛

 找回密码
 论坛注册

QQ登录

只需一步,快速开始

搜索
查看: 1490|回复: 5

调用存储过程发生Commands out of sync错误

[复制链接]

2

主题

0

好友

0

积分

武林新贵

Rank: 4

发表于 2010-8-2 16:35:00 |显示全部楼层
通过findsql调用存储过程,然后再访问数据库,无论什么语句都报错,麻烦斑竹看看有啥解决办法没?执行错误: Commands out of sync; you can't run this command now

在网上尝试用mysql_next_result 和mysql_store_result来处理,但是访问报错

大家碰到过这个情况没

48

主题

0

好友

3074

积分

管理员

@speedphp

Rank: 9Rank: 9Rank: 9

发表于 2010-8-2 18:03:29 |显示全部楼层
这种我没遇过,这里我只能说说怎么获取mysql的链接资源句柄。

$a = spClass('lib_guestbook');
那么,mysql_系列函数的mysql链接资源句柄是$a->_db->conn;

你可以取得这个链接资源句柄,然后用于执行mysql_系列函数,比如说执行mysql_use_result()

2

主题

0

好友

0

积分

武林新贵

Rank: 4

发表于 2010-8-2 18:26:17 |显示全部楼层
我直接在mysql.php文件里面改都不行,不识别

48

主题

0

好友

3074

积分

管理员

@speedphp

Rank: 9Rank: 9Rank: 9

发表于 2010-8-2 18:33:05 |显示全部楼层
这样,建议你直接使用PHP的mysql_系列函数来试试

http://cn.php.net/manual/en/function.mysql-connect.php

直接使用php.net上面的示例代码,来测试你的SQL语句。我想,如果这样都会出错的话,那么就要检查一下你的存储过程和SQL语句有无问题了。

另外你也可以通过其他的mysql客户端来测试。

其实speedphp框架内的mysql链接很简单,仅是使用了mysql_系列函数而已。

2

主题

0

好友

13

积分

武林新贵

Rank: 4

发表于 2012-2-5 14:22:59 |显示全部楼层
今天我也遇到了这样的问题,sp版本是3,1,89的。出错提示:
select count(id) as count from a
执行错误: Commands out of sync; you can't run this command now。
lz是怎么解决的呢?

2

主题

0

好友

13

积分

武林新贵

Rank: 4

发表于 2012-2-5 17:35:05 |显示全部楼层
问题解决了。
方法如下:
执行完成存储过程后关闭数据库连接,在执行下面的数据库操作的时候重新创建连接。
这个方法不好,如果存储过程多应该会有问题。
谁有好的方法贴出来,大家共享下
您需要登录后才可以回帖 登录 | 论坛注册

手机版|Archiver|SpeedPHP.com ( 粤ICP备08008671号 )  

GMT+8, 2012-5-19 02:34

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部