PHP如何调用MYSQL存储过程


Posted in 面试题 onMay 30, 2014
php调用mysql存储过程和函数的两种方法存储过程和函数是MySql5.0刚刚引入的。关于这方面的操作在PHP里面没有直接的支持。但是由于Mysql PHP API的设计,使得我们可以在以前的PHP版本中的mysql php api中支持存储过程和函数的调用。在php中调用存储过程和函数的主要步骤 1。调用存储过程的方法。 a。如果存储过程有 IN/INOUT参数,声明一个变量,输入参数给存储过程,该变量是一对,一个php变量(也可以不必,只是没有php变量时,没有办法进行动态输入),一个Mysql变量。 b。如果存储过程有OUT变量,声明一个Mysql变量。 mysql变量的声明比较特殊,必须让mysql服务器知道此变量的存在,其实也就是执行一条mysql语句。输入 set @mysqlvar=$phpvar ; c。使用mysql_query()/mysql_db_query()执行mysql 变量声明语句。 Mysql_query(“set @mysqlvar【=$pbpvar】”); 这样,在mysql服务器里面就有一个变量,@mysqlar。如果时IN参数,那么其值可以有phpar传入。 D。 如果时存储过程。 1。执行 call procedure()语句。也就是mysql_query(“call proceduer([var1]…)”); 2. 如果有返回值,执行select @ar,返回执行结果。 Mysql_query(“select @var)” 接下来的操作就和php执行一般的mysql语句一样了。可以通过mydql_fetch_row()等函数获得结果。如果时函数。 直接执行 select function() 就可以了。 php调用mysql存储过程和函数的方法一: $host=\”localhost\”; $user=\”root\”; $password=\”11212\”; $db=\”samp_db\”; $dblink=mysql_connect($host,$user,$password) or die(\”can’t connect to mysql\”); mysql_select_db($db,$dblink) or die(\”can’t select samp_db\”); $res=mysql_query(\”set @a=$password\”,$dblink); $res=mysql_query(\”call aa(@a)\”,$dblink); $res=mysql_query(\”select @a\”,$dblink); $row=mysql_fetch_row($res); echo $row[0]; php调用mysql存储过程和函数方法二:此方法需要db_mysqli.dll的支持!调用带有select语句的存储过程就出现 PROCEDURE p can’t return a result set in the given context的错误。Google了半天,在mysql官网上找到一些说法,db_mysql的模块不支持存储过程调用,解决方法是用 db_mysqli。测试了一下,果然可以了。

Tags in this post...

面试题 相关文章推荐
PHP经典面试题
Sep 03 面试题
Java如何格式化日期
Aug 07 面试题
联强国际笔试题面试题
Jul 10 面试题
一个C/C++编程面试题
Nov 10 面试题
SQL数据库笔试题
Mar 08 面试题
一道SQL面试题
Dec 31 面试题
Shell编程面试题
May 29 面试题
介绍一下linux文件系统分配策略
Feb 25 面试题
在Ajax应用中信息是如何在浏览器和服务器之间传递的
May 31 面试题
这76道Java面试题及答案,祝你能成功通过面试
Apr 16 面试题
精选干货:Java精选笔试题附答案
Jan 18 面试题
Servlet面试题库
Jul 18 面试题
mysql_pconnect()和mysql_connect()有什么区别
May 25 #面试题
什么是smarty? Smarty的优点是什么?
Aug 11 #面试题
mysql的最长数据库名,表名,字段名可以是多长
Apr 21 #面试题
可以在一个PHP文件里面include另外一个PHP文件两次吗
May 22 #面试题
PHP如何对用户密码进行加密
Jul 31 #面试题
PHP开发的一般流程
Aug 13 #面试题
PHP中如何使用Cookie
Oct 28 #面试题
You might like
基于php权限分配的实现代码
2013/04/28 PHP
php调用Google translate_tts api实现代码
2013/08/07 PHP
Yii学习总结之安装配置
2015/02/22 PHP
php实现求相对时间函数
2015/06/15 PHP
如何在标题栏显示框架内页面的标题
2007/02/03 Javascript
jquery限定文本框只能输入数字即整数和小数
2013/11/29 Javascript
使用firebug进行调试javascript的示例
2013/12/16 Javascript
js 异步操作回调函数如何控制执行顺序
2013/12/24 Javascript
js的for in循环和java里foreach循环的区别分析
2015/01/28 Javascript
jQuery弹出层插件Lightbox_me使用指南
2015/04/21 Javascript
JavaScript兼容性总结之获取非行间样式案例
2016/08/07 Javascript
JS前端加密算法示例
2016/12/22 Javascript
详解vue之页面缓存问题(基于2.0)
2017/01/10 Javascript
vue实现ToDoList简单实例
2017/02/07 Javascript
JS按条件 serialize() 对应标签的使用方法
2017/07/24 Javascript
JavaScript实现兼容IE6的收起折叠与展开效果实例
2017/09/20 Javascript
20个最常见的jQuery面试问题及答案
2018/05/23 jQuery
layui表格内容溢出的解决方法
2019/09/06 Javascript
通过微信公众平台获取公众号文章的方法示例
2019/12/25 Javascript
Vue项目移动端滚动穿透问题的实现
2020/05/19 Javascript
JavaScript实现雪花飘落效果
2020/12/27 Javascript
JavaScript 声明私有变量的两种方式
2021/02/05 Javascript
python实现逻辑回归的方法示例
2017/05/02 Python
Python2.7下安装Scrapy框架步骤教程
2017/12/22 Python
python操作小程序云数据库实现简单的增删改查功能
2019/06/06 Python
Pycharm新建模板默认添加个人信息的实例
2019/07/15 Python
python中@property和property函数常见使用方法示例
2019/10/21 Python
利用python中集合的唯一性实现去重
2020/02/11 Python
Matplotlib使用Cursor实现UI定位的示例代码
2020/03/12 Python
Python列表如何更新值
2020/05/27 Python
keras 实现轻量级网络ShuffleNet教程
2020/06/19 Python
python学习笔记之多进程
2020/08/06 Python
Python钉钉报警及Zabbix集成钉钉报警的示例代码
2020/08/17 Python
美国最大的在线寄售和旧货店:Swap.com
2018/08/27 全球购物
JDK安装目录下有哪些内容
2014/08/25 面试题
2015年管理人员工作总结
2015/05/13 职场文书