php mysql 不报错_PHP调用MYSQL存储过程 不报错的解决方法

前两天跟同事一起开发一套库存管理系统,我负责写页面程序,同事负责写存储过程,写程序时一切进展很顺利,直到开发完成,我用PHP调用他的存储过程时问题发生了。

以后开发时需要注意以下几点:

1、连接MYSQL数据库时要注意后两个参数

define('CLIENT_MULTI_RESULTS', 131072); //定义常量

$conn=mysql_connect("localhost","root","123456",1,CLIENT_MULTI_RESULTS);

$db=mysql_select_db("db01",$conn);

2、调用存储过程方法

很简单共有两种方法

(1)无返回值

mysql_query("call nj_keep_accounts_sp($id)",$conn); // 存储过程名称: nj_keep_accounts_sp 参数:$id

(2)有返回值

$id=$_GET["id"];

$r=mysql_query("call nj_keep_accounts_sp($id)",$conn);

while($rs=@mysql_fetch_array($r)){

echo($rs["t_id"]);

}

3、如果调试的时不报错,经常执行不稳定,一会好用一会不好用请注意

我在测试的时候发生过这种事情,发现代码本身无错误,存储过程在MYSQL里执行也没有出错,问题发生在哪呢?

经过两天的测试最终发现,写存储过程的时候调试过程中在执行开始、中间、结尾部份都加了测试返回值。问题就发生在这里。

我把没用的返回值(如:select @a)类似这种代码全注释之后才发现以前的问题全部解决了,程序也好用了。

摘自 newsera

f68f2add0b68e4f9810432fce46917b7.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值