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

面试题 相关文章推荐
super()与this()的区别
Jan 17 面试题
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻
Jan 18 面试题
写出二分查找算法的两种实现
May 13 面试题
空指针到底是什么
Aug 07 面试题
如果NULL定义成#define NULL((char *)0)难道不就可以向函数传入不加转换的NULL了吗
Feb 15 面试题
编写strcpy函数
Jun 24 面试题
什么是聚集索引和非聚集索引
Jan 17 面试题
中海讯通笔试题
Sep 15 面试题
ASP.NET中的身份验证有那些
Jul 13 面试题
北京某科技有限公司C# .net笔试题
Sep 27 面试题
Linux的主要特性
Oct 06 面试题
Java语言程序设计测试题判断题部分
Jan 06 面试题
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的preg_match匹配字符串长度问题解决方法
2014/05/03 PHP
PHP中Socket连接及读写数据超时问题分析
2016/07/19 PHP
详解使用php调用微信接口上传永久素材
2017/04/11 PHP
PHP操作redis实现的分页列表,新增,删除功能封装类与用法示例
2018/08/04 PHP
PhpStorm配置Xdebug调试的方法步骤
2019/02/02 PHP
浅谈php的TS和NTS的区别
2019/03/13 PHP
Mac下快速搭建PHP开发环境步骤详解
2019/05/05 PHP
jquery 简单的进度条实现代码
2010/03/11 Javascript
关于js类的定义
2011/06/28 Javascript
IE 下Enter提交表单存在重复提交问题的解决方法
2014/05/04 Javascript
javascript基于HTML5 canvas制作画箭头组件
2014/06/25 Javascript
js实现简单的可切换选项卡效果
2015/04/10 Javascript
JavaScript中split() 使用方法汇总
2015/04/17 Javascript
Angularjs使用指令做表单校验的方法
2017/03/31 Javascript
React利用插件和不用插件实现双向绑定的方法详解
2017/07/03 Javascript
JS HTML图片显示Canvas 压缩功能
2017/07/21 Javascript
js实现图片放大展示效果
2017/08/30 Javascript
对于js垃圾回收机制的理解
2017/09/14 Javascript
开发一个Parcel-vue脚手架工具(详细步骤)
2018/09/22 Javascript
layui富文本编辑器前端无法取值的解决方法
2019/09/18 Javascript
jQuery实现鼠标移入显示蒙版效果
2020/01/11 jQuery
python实现的解析crontab配置文件代码
2014/06/30 Python
用python写一个windows下的定时关机脚本(推荐)
2017/03/21 Python
Python3 socket同步通信简单示例
2017/06/07 Python
Python自定义函数实现求两个数最大公约数、最小公倍数示例
2018/05/21 Python
在tensorflow中实现去除不足一个batch的数据
2020/01/20 Python
Python新手学习标准库模块命名
2020/05/29 Python
python线程里哪种模块比较适合
2020/08/02 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
2020/09/04 Python
HTML5之SVG 2D入门4—笔画与填充
2013/01/30 HTML / CSS
女士时装鞋:Chinese Laundry
2018/08/29 全球购物
中专生自荐信
2013/10/12 职场文书
秋收起义观后感
2015/06/11 职场文书
三种方式清除vue路由跳转router-link的历史记录
2022/04/10 Vue.js
Python使用MapReduce进行简单的销售统计
2022/04/22 Python
前端使用svg图片改色实现示例
2022/07/23 HTML / CSS