mysql inputoutput_PHP:同时使用INPUT和OUTPUT参数(不“ INOUT”)调用MySQL存储过程

从PHP,我想在MySQL中调用存储过程。该过程采用输入 和 输出参数- 而不是 “ INOUT” 参数。

对于一个简单的示例,说我在MySQL中具有以下存储过程:

DELIMITER $$

DROP PROCEDURE IF EXISTS `test_proc`$$

CREATE PROCEDURE `test_proc`(

in input_param_1 int,

in input_param_2 int,

in input_param_3 int,

out output_sum int,

out output_product int,

out output_average int

)

BEGIN

set output_sum = input_param_1 + input_param_2 + input_param_3;

set output_product = input_param_1 * input_param_2 * input_param_3;

set output_average = (input_param_1 + input_param_2 + input_param_3) / 3;

END$$

DELIMITER ;

现在,从PHP脚本/页面的角度说,我有以下变量(我们将它们称为“ proc输入变量”),在我调用它时,我想将它们作为 输入 参数馈入存储过程:

$procInput1 = "123";

$procInput2 = "456";

$procInput3 = "789";

假设在PHP脚本/页面方面,我还有以下变量(我们将它们称为“ proc输出变量”),我想将这些变量作为 输出 参数提供给存储过程,以在调用时 由

存储过程 设置 它:

$procOutput_sum;

$procOutput_product;

$procOutput_average;

因此,从本质上讲,在PHP脚本/页面方面,我想做的就是 ( 实际上 我意识到以下代码无效) ,…

call test_proc($procInput1, $procInput2, $procInput3, $procOutput_sum, $procOutput_product, $procOutput_average);

…以及以下被称为PHP的代码…

echo "Sum: ".$procOutput_sum;

echo "Product: ".$procOutput_product;

echo "Average: ".$procOutput_average;

…应产生以下输出:

Sum: 1368

Product: 44253432

Average: 456

一个警告是,如果可能的话,我希望能够使用MySQLi 程序 功能/接口来做到这一点。如果不可能,那么我将使用它。

我已经进行了一段时间的编程,但是PHP语言对我来说是一个相对较新的工作。我发现了大量关于从PHP调用MySQL存储过程的教程。有些是使用 输入

参数调用存储过程的教程,有些是使用 输出 参数调用存储过程的教程,有些是使用 inout

参数调用存储过程的教程。我还没有发现在调用该取存储过程任何教程或示例 都 输入 并 在同一时间输出参数,而特别 不 使用“

inout”参数。我在弄清楚如何对参数绑定进行编码(例如:mysqli_stmt_bind_param和mysqli_stmt_bind_result)时遇到麻烦,并使它们全部正常工作。

任何帮助将不胜感激,我先感谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/575840.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决Gradle生成Eclipse支持后,发布到Tomcat丢失依赖jar包的问题

最近一个项目中,使用号称下一代构建工具的Gradle构建项目。 使用中发现一个问题,Gradle从中央库下载的jar文件在系统的其它目录,使用gradle eclipse添加Eclipse支持时,jar文件是以外部依赖的形式导入的。Eclipse将web项目发布到To…

mysql 执行计划_mysql执行计划

执行计划使用explain sql查询。1、 构造数据usecoshaho002;drop table if existsinfo;create tableinfo(idint primary keyAUTO_INCREMENT,namevarchar(32),agetinyint,sexvarchar(8),addressvarchar(32),phonevarchar(32),birthday date,descriptionvarchar(128));alter table…

linux 添加编程环境变量配置

在用VS 2008使用boost库时候,只需要在VS的配置里面设定好boost的include和lib路径,编写程序就会自动查找和链接。 linux下使用boost开发,在哪里设置呢? 对所有用户有效,需修改文件/etc/profile; 对个人有效则修改文件~…

python中cock什么意思_[转载]原创脚本逐步实现Autodcock-Vina的虚拟筛选及筛选后分析...

[转载]原创脚本逐步实现Autodcock-Vina的虚拟筛选及筛选后分析(2013-07-03 11:31:56)标签:转载Vina是在Autodock4基础上改进的算法,相比autodock4而言,具体优势:准确,并行计算(官网数据):AutoDockVina is a…

Entity Framework 4.1 : 贪婪加载和延迟加载

这篇文章将讨论查询结果的加载控制。 EF4.1 允许控制对象之间的关系,当我们进行查询的时候,哪些关系的数据将会被加载到内存呢?所有相关的对象都需要吗?在一些场合可能有意义,例如,当查询的实体仅仅拥有一个…

python数据结构编程_写给Python编程高手之 数据结构

python视频教程栏目介绍Python编程需要注意的关键点。如何在列表,字典,集合中根据条件筛选数据案例:如何在下列列表data中筛选出大于0的数data [1, -1, 2, 3, 4, 7]复制代码使用filter函数,第一个参数为一个函数,也可…

初步学习pg_control文件之八

接前文 初步学习pg_control文件之七 继续 看:catalog_version_no 代码如下: static void WriteControlFile(void) {.../** Initialize version and compatibility-check fields*/ControlFile->pg_control_version PG_CONTROL_VERSION;ControlFile-…

python编写下载器可暂停_Python编写一个优美的下载器

本文实例为大家分享了python编写下载器的具体代码,供大家参考,具体内容如下 #!/bin/python3# author: lidawei# create: 2016-07-11# version: 1.0# 功能说明:# 从指定的URL将文件取回本地#################################################…

fork()调用使子进程先于父进程被调度

由于内核使用写时复制机制,fork之后父子进程是共享页表描述符的,如果让父进程先执行,那么有很大几率父进程会修改共享页表指向的数据,那么内核此时必须给父进程分配并复制新的页表供父进程修改使用,那么如果子进程被创…

修改页面后获得flag_简单的CTF-从JS中获取flag

本文是一篇从合天网安实验室进行实验操作的笔记,一次非常简单地从JS中获取到flag的操作。1. 进入题目页(10.1.1.219:20123)看到一段话,还有一句很明显的提示语句“The evil url is the passkey”,翻译出来就是损坏的url就是flag。下面的英文…

文本框获取和失去焦点默认值问题

1. HTML控件<input id"txtName" type"text" value"默认值" /> <script src"script/jquery-1.7.1.min.js" type"text/javascript"></script><script type"text/javascript">$(function ()…

mac 源生安装mysql_Django执行源生mysql语句实现过程解析

1.使用extra方法解释&#xff1a;结果集修改器&#xff0c;一种提供额外查询参数的机制说明&#xff1a;依赖model模型使用方式&#xff1a;用在where后:Book.objects.filter(publisher_id"1").extra(where["titlepython学习1"])用在select后Book.objects.…

poj 3131 Cubic Eight-Puzzle 双向广搜 Hash判重

挺不错的题目&#xff0c;很锻炼代码能力和调试能力~ 题意&#xff1a;初始格子状态固定&#xff0c;给你移动后格子的状态&#xff0c;问最少需要多少步能到达&#xff0c;如果步数大于30&#xff0c;输出-1。 由于单向搜索状态太多&#xff0c;搜到二十几就会爆了&#xff0c…

mysql 优化rand_mysql优化--巧用rand(),with rollup,help__update2014.1.13

巧用rand()提取随机行&#xff1a;mysql中rand()获取0-1之间的一个随机数.这个函数和order by能把数据随机排序。随机从表中取出十条数据:select * from tablename order by rand() limit 10;此方法确实很方便&#xff0c;但是效率上却慢的惊人&#xff0c;切勿使用。SELECT * …

server2003 IIS 错误 解决

网页无法打开总显示&#xff1a;无法找到该页您正在搜索的页面可能已经删除、更名或暂时不可用。 --------------------------------------------------------------------------------请尝试以下操作&#xff1a;确保浏览器的地址栏中显示的网站地址的拼写和格式正确无误。 如…

mysql web备份软件_GitHub - toolzone/mysql_web_backup: mysql数据库自动备份,web网站自动备份shell脚本...

注意&#xff1a;Mysql_backup.sh 为 mysql 自动备份 脚本&#xff0c;配合 crontab命令 用来管理需要周期性执行任务Web_backup.sh 为 web文件 自动备份 脚本&#xff0c;配合 crontab命令 用来管理需要周期性执行任务Mysql_backup.sh 里&#xff1a;* 把 username 替换为mysq…

快速下载助手1.1--添加断点下载

在上一章中实现了多线程的断点下载&#xff0c;将快速下载助手添加断点下载功能&#xff0c;明天实现了速率统计功能 效果图如下&#xff1a; 打印信息如下&#xff1a; 欢迎使用快速下载助手-->并不是线程多就下载的快! 文件夹已经存在 默认的线程个数&#xff1a;3 保存路…

mysql查询自定义数据_实现自定义查询的数据库设计及实现(一)

需求先说一下需求&#xff1a;实现用户自定义的查询&#xff0c;用户可以自定义要查询的列、自定义条件条件、自定义排序。除了查询使用外&#xff0c;还可以使用于各个需要根据条件进行约束的业务&#xff0c;如权限&#xff1b;本设计和实现&#xff0c;很大部分是通过数据库…

poj 1321 棋盘问题

题目&#xff1a; http://poj.org/problem?id1321 八皇后问题&#xff0c;用dfsj即可。 源代码&#xff1a; 1 #include <iostream>2 #include<stdio.h>3 #include<cstring>4 using namespace std;5 int a[10][10];6 int visit[10];7 int n,k,sum;8 __int64…

php mysql-proxy报错_MySQL-proxy代理导致PHP PDO::ATTR_EMULATE_PREPARES的预处理出错,MySQL报General error: 1243错误...

背景&#xff1a;用的ThinkPHP5的框架。(相比之前的3.2版本&#xff0c;版本5都用了PDO处理数据库)症状&#xff1a;SQLSTATE[HY000]: General error: 1243 Unknown prepared statement handler (1) given to mysqld_stmt_execute具体的错误SQL&#xff0c;可能是任何一条正常的…