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...

面试题 相关文章推荐
介绍一下Cookie和Session及他们之间的区别
Nov 20 面试题
如何配置、使用和清除Smarty缓存
Dec 23 面试题
附答案的Java面试题
Nov 19 面试题
C语言50道问题
Oct 23 面试题
一套带答案的C++笔试题
Jan 10 面试题
什么是触发器(trigger)? 触发器有什么作用?
Sep 18 面试题
北京RT科技有限公司.net工程师面试题
Feb 15 面试题
.net面试题
Sep 17 面试题
什么是.net的Remoting技术
Jul 08 面试题
委托与事件是什么关系?为什么要使用委托
Apr 18 面试题
linux面试题参考答案(7)
Jul 24 面试题
J2EE中常用的名词进行解释
Nov 09 面试题
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 XML备份Mysql数据库
2009/05/27 PHP
php数组函数序列之array_intersect() 返回两个或多个数组的交集数组
2011/11/10 PHP
使用PHP获取汉字的拼音(全部与首字母)
2013/06/27 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
2017/10/10 PHP
php-msf源码详解
2017/12/25 PHP
对YUI扩展的Gird组件 Part-2
2007/03/10 Javascript
xml 封装与解析(javascript和C#中)
2009/07/26 Javascript
jQuery 动画弹出窗体支持多种展现方式
2010/04/29 Javascript
JavaScript中两个感叹号的作用说明
2011/12/28 Javascript
浅析JavaScript中的类型和对象
2013/11/29 Javascript
jQuery中parents()和parent()的区别分析
2014/10/28 Javascript
jQuery实现折叠、展开的菜单组效果代码
2015/09/16 Javascript
jquery实现简单文字提示效果
2015/12/02 Javascript
JavaScript适配器模式详解
2017/10/19 Javascript
通过 JS 判断页面是否有滚动条的实现方法
2018/04/05 Javascript
Javascript实现运算符重载详解
2018/04/07 Javascript
微信小程序上传多图到服务器并获取返回的路径
2019/05/05 Javascript
小程序识别身份证,银行卡,营业执照,驾照的实现
2019/11/05 Javascript
js HTML DOM EventListener功能与用法实例分析
2020/04/27 Javascript
[19:24]DOTA2客户端使用指南 一分钟快速设置轻松超神
2013/09/24 DOTA
[05:05]DOTA2亚洲邀请赛 战队出场仪式
2015/02/07 DOTA
python实现可以断点续传和并发的ftp程序
2016/09/13 Python
Python新手入门最容易犯的错误总结
2017/04/24 Python
对numpy中轴与维度的理解
2018/04/18 Python
详解Python中的分组函数groupby和itertools)
2018/07/11 Python
Python解决走迷宫问题算法示例
2018/07/27 Python
python hashlib加密实现代码
2019/10/17 Python
python多线程爬取西刺代理的示例代码
2021/01/30 Python
CSS3制作3D立方体loading特效
2020/11/09 HTML / CSS
澳大利亚儿童精品仓库:Goo & Co.
2019/06/20 全球购物
Hush Puppies澳大利亚官网:舒适的男女休闲和正装鞋
2019/08/24 全球购物
采购类个人求职的自我评价
2014/02/18 职场文书
标准化管理实施方案
2014/02/25 职场文书
基层党组织建设整改方案
2014/09/16 职场文书
建筑质检员岗位职责
2015/04/08 职场文书
24句精辟的现实社会语录,句句扎心,道尽人性
2019/08/29 职场文书