登录  /  注册
首页 > php教程 > php手册 > 正文

PHP调用MYSQL存储过程 不报错的解决方法

php中文网
发布: 2016-06-13 10:45:40
原创
1286人浏览过

 

前两天跟同事一起开发一套库存管理系统,我负责写页面程序,同事负责写存储过程,写程序时一切进展很顺利,直到开发完成,我用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

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号