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

面试题 相关文章推荐
构造方法和其他方法的区别?怎么调用父类的构造方法
Sep 22 面试题
将n个数按输入顺序的逆序排列,用函数实现
Nov 14 面试题
"引用"与指针的区别是什么
Sep 07 面试题
分布式数据库需要考虑哪些问题
Dec 08 面试题
如何为DataGridView添加一个定制的Column Type
Jan 21 面试题
WINDOWS域的具体实现方式是什么
Feb 20 面试题
C#面试题
May 06 面试题
explicit和implicit的含义
Nov 15 面试题
山海经纬软件测试笔试题和面试题
Apr 02 面试题
如何用JQuery进行表单验证
May 29 面试题
Java面试题汇总
Dec 06 面试题
介绍一下Ruby的多线程处理
Feb 01 面试题
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使用session二维数组实例
2014/11/06 PHP
thinkPHP3.2简单实现文件上传的方法
2016/05/16 PHP
php中错误处理操作实例分析
2019/08/23 PHP
PHP7 新增功能
2021/03/09 PHP
jQuery ctrl+Enter shift+Enter实现代码
2010/02/07 Javascript
jQuery Mobile的loading对话框显示/隐藏方法分享
2013/11/26 Javascript
比较不错的JS/JQuery显示或隐藏文本的方法
2014/02/13 Javascript
json的定义、标准格式及json字符串检验
2014/05/11 Javascript
浅析jQuery中调用ajax方法时在不同浏览器中遇到的问题
2014/06/11 Javascript
JavaScript中的单引号和双引号报错的解决方法
2014/09/01 Javascript
jQuery实现数字加减效果汇总
2014/12/16 Javascript
微信小程序Server端环境配置详解(SSL, Nginx HTTPS,TLS 1.2 升级)
2017/01/12 Javascript
jQuery返回定位插件详解
2017/05/15 jQuery
vue-router单页面路由
2017/06/17 Javascript
原生JS实现Ajax跨域请求flask响应内容
2017/10/24 Javascript
vue移动端UI框架实现QQ侧边菜单组件
2018/03/09 Javascript
浅谈vue加载优化策略
2019/03/19 Javascript
vue基于viewer实现的图片查看器功能
2019/04/12 Javascript
react-native滑动吸顶效果的实现过程
2019/06/03 Javascript
python实现随机密码字典生成器示例
2014/04/09 Python
将Django使用的数据库从MySQL迁移到PostgreSQL的教程
2015/04/11 Python
Python编程之黑板上排列组合,你舍得解开吗
2017/10/30 Python
python素数筛选法浅析
2018/03/19 Python
Python3中的json模块使用详解
2018/05/05 Python
python如果快速判断数字奇数偶数
2019/11/13 Python
html5使用canvas绘制太阳系效果
2014/12/15 HTML / CSS
英国在线自行车商店:Evans Cycles
2016/09/26 全球购物
Agoda西班牙:全球特价酒店预订
2017/06/03 全球购物
美国马匹用品和骑马配件购物网站:Horse.com
2018/01/08 全球购物
美国折扣香水网站:The Perfume Spot
2020/12/12 全球购物
理工大学毕业生自荐信
2013/11/01 职场文书
中学综治宣传月活动总结
2015/05/07 职场文书
原告离婚代理词
2015/05/23 职场文书
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
2021/04/12 Python
golang中切片copy复制和等号复制的区别介绍
2021/04/27 Golang
MySQL利用UNION连接2个查询排序失效详解
2021/11/20 MySQL