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面试题大全
Oct 16 面试题
SQL中where和having的区别
Jun 17 面试题
Java的接口和C++的虚类的相同和不同处
Mar 27 面试题
接口中的方法可以是abstract的吗
Jul 23 面试题
请描述一下”is a”关系和”has a”关系
Feb 03 面试题
类如何去实现接口
Dec 19 面试题
RealTek面试题
Jun 28 面试题
必须要使用游标的SQL语句有那些
May 07 面试题
System.Array.CopyTo()和System.Array.Clone()有什么区别
Jun 20 面试题
C#公司笔试题
Mar 28 面试题
通用C#笔试题附答案
Nov 26 面试题
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
Jul 21 面试题
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多线程抓取网页实现代码
2010/07/22 PHP
php把数据表导出为Excel表的最简单、最快的方法(不用插件)
2014/05/10 PHP
jquery下利用jsonp跨域访问实现方法
2010/07/29 Javascript
js取两个数组的交集|差集|并集|补集|去重示例代码
2013/08/07 Javascript
js加载读取内容及显示与隐藏div示例
2014/02/13 Javascript
jQuery中使用each处理json数据
2015/04/23 Javascript
Css3制作变形与动画效果
2015/07/24 Javascript
js实现的黑背景灰色二级导航菜单效果代码
2015/08/24 Javascript
JS自动倒计时30秒后按钮才可用(两种场景)
2015/08/31 Javascript
JS实现动态表格的添加,修改,删除功能(推荐)
2016/06/15 Javascript
angular学习之ngRoute路由机制
2017/04/12 Javascript
js实现本地时间同步功能
2017/08/26 Javascript
ExtJs整合Echarts的示例代码
2018/02/27 Javascript
Javascript中绑定click事件的四种方式介绍
2018/10/26 Javascript
一篇文章,教你学会Vue CLI 插件开发
2019/04/17 Javascript
微信小程序 自定义弹窗实现过程(附代码)
2019/12/05 Javascript
viewer.js实现图片预览功能
2020/06/24 Javascript
js实现简易点击切换显示或隐藏
2020/11/29 Javascript
Python matplotlib以日期为x轴作图代码实例
2019/11/22 Python
python爬虫添加请求头代码实例
2019/12/28 Python
python连接PostgreSQL过程解析
2020/02/09 Python
在django项目中导出数据到excel文件并实现下载的功能
2020/03/13 Python
pycharm设置默认的UTF-8编码模式的方法详解
2020/06/01 Python
Pycharm中配置远程Docker运行环境的教程图解
2020/06/11 Python
利用CSS3实现文本框的清除按钮相关的一些效果
2015/06/23 HTML / CSS
html5使用canvas压缩图片的示例代码
2018/09/11 HTML / CSS
德国家具、照明、家居用品网上商店:Wayfair.de
2020/02/13 全球购物
北京RT科技有限公司.net工程师面试题
2013/02/15 面试题
C#中类(class)与结构(struct)的异同
2013/11/03 面试题
银行出纳岗位职责
2013/11/25 职场文书
三年大学自我鉴定
2014/01/16 职场文书
小学生常见病防治方案
2014/06/06 职场文书
毕业实习单位意见
2015/06/04 职场文书
三好学生竞选稿
2015/11/21 职场文书
linux下安装redis图文详细步骤
2021/12/04 Redis
Redis主从复制操作和配置详情
2022/09/23 Redis