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面试题
Apr 14 面试题
strlen的几种不同实现方法
May 31 面试题
简述数据库的设计过程
Jun 22 面试题
杭州联环马网络笔试题面试题
Aug 04 面试题
什么是反射?如何实现反射?
Jul 25 面试题
Ref与out有什么不同
Nov 24 面试题
下列程序在32位linux或unix中的结果是什么
Jan 26 面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
Jul 11 面试题
Linux面试经常问的文件系统操作命令
Nov 05 面试题
山海经纬软件测试笔试题和面试题
Apr 02 面试题
敏捷开发的主要原则都有哪些
Apr 26 面试题
什么是方法的重载
Jun 24 面试题
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/11/06 PHP
PHP获取栏目的所有子级和孙级栏目的ID号示例
2014/04/01 PHP
PHP使用PDO、mysqli扩展实现与数据库交互操作详解
2019/07/20 PHP
jQuery contains过滤器实现精确匹配使用方法
2013/04/12 Javascript
使用js获取地址栏中传递的值
2013/07/02 Javascript
Javascript浅谈之this
2013/12/17 Javascript
JavaScript动态改变HTML页面元素例如添加或删除
2014/08/10 Javascript
jQuery异步获取json数据方法汇总
2014/12/22 Javascript
jQuery验证元素是否为空的两种常用方法
2015/03/17 Javascript
AngularJS中的过滤器使用详解
2015/06/16 Javascript
jquery实现从数组移除指定的值
2015/06/24 Javascript
JS留言功能的简单实现案例(推荐)
2016/06/23 Javascript
一次$.getJSON不执行的简单记录
2016/07/19 Javascript
基于Bootstrap 3 JQuery及RegExp的表单验证功能
2017/02/16 Javascript
vue-cli脚手架config目录下index.js配置文件的方法
2018/03/13 Javascript
vue.js中实现登录控制的方法示例
2018/04/23 Javascript
Cookbook组件形式:优化 Vue 组件的运行时性能
2018/11/25 Javascript
解决layui laydate 时间控件一闪而过的问题
2019/09/28 Javascript
详解JavaScript 作用域
2020/07/14 Javascript
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
2020/08/10 Javascript
Python的Django框架中使用SQLAlchemy操作数据库的教程
2016/06/02 Python
django使用图片延时加载引起后台404错误
2017/04/18 Python
python 3.5下xadmin的使用及修复源码bug
2017/05/10 Python
用Python删除本地目录下某一时间点之前创建的所有文件的实例
2017/12/14 Python
浅析python协程相关概念
2018/01/20 Python
Python爬虫包BeautifulSoup异常处理(二)
2018/06/17 Python
tensorflow使用神经网络实现mnist分类
2018/09/08 Python
Python大数据之从网页上爬取数据的方法详解
2019/11/16 Python
python deque模块简单使用代码实例
2020/03/12 Python
美国乡村商店:Plow & Hearth
2016/09/12 全球购物
戛纳奢侈品商店:Jacques Loup法国
2019/11/04 全球购物
空字符串(“”)和null的区别
2012/11/13 面试题
行政部工作岗位职责范本
2014/03/05 职场文书
土地转让协议书范本
2014/04/15 职场文书
写自招自荐信的绝招!
2019/04/19 职场文书
入党心得体会
2019/06/20 职场文书