从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)时遇到麻烦,并使它们全部正常工作。

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

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

  1. 在Angular应用的child Component里同时使用@Input和@Output

    一个例子: <app-input-output [item]="currentItem" (deleteRequest)="crossOffItem($event) ...

  2. vb获取html中的inout,使用带有OUT参数的VB6调用MySQL存储过程

    我在MySQL(Server 5.5)中编写了这个程序 DELIMITER $$ DROP PROCEDURE IF EXISTS `InsertList` $$ CREATE DEFINER=`ro ...

  3. MySQL性能调优与架构设计——第4章 MySQL安全管理

    第4章 MySQL安全管理 前言 对于任何一个企业来说,其数据库系统中所保存数据的安全性无疑是非常重要的,尤其是公司的有些商业数据,可能数据就是公司的根本,失去了数据的安全性,可能就是失去了公司的一切 ...

  4. windows10安装mysql 8.0_手把手教你在Windows 10安装MySQL 8.0(详细图文)

    出品丨TeacherWhat 题图:Oracle MySQL 8.0 关键字:新版本.Install.安装.MySQL.数据库入门.Database 正文约1000字,建议阅读时间2分钟 目录结构: ...

  5. mysql通过参数文件启动_mysql启动的时参数文件中的[mysql]下的参数没有生效

    my.cnf下的参数如下 [mysqld] 此处省略..... [mysql] #no-auto-rehash prompt='\u@\h:\p\d mysql>' #max_allowed_p ...

  6. Angular使用@Input和@Output实现父子组件互相传参(类似Vue的props和this.emit)

    app.component.html <app-in-out [in]='"传输进入"' (out)="out($event)" ></app ...

  7. 标准库 - 输入输出处理(input and output facilities) lua

    标准库 - 输入输出处理(input and output facilities) 责任编辑:cynthia作者:来自ITPUB论坛 2008-02-18 文本Tag: Lua [IT168 技术文档 ...

  8. Angular4学习笔记(六)- Input和Output

    概述 Angular中的输入输出是通过注解@Input和@Output来标识,它位于组件控制器的属性上方. 输入输出针对的对象是父子组件. 演示 Input 新建项目connInComponents: ...

  9. system verilog中的参数传递——ref,input,output

    本文介绍了 system verilog 中静态数组.动态数组.队列作为函数参数传递的规则,以及 input.output.ref关键字的规则. system verilog中的参数传递--ref,i ...

最新文章

  1. Linux开关机时长查看
  2. 网络相关之TCP(有趣的对话)
  3. 5.16 Stacks and Queues
  4. 关于ESXI能虚拟出多少个虚拟机和CPU的关系
  5. Collection和Collections区别
  6. iphone最新款手机_苹果罕见“跌停”!遭遇6年来最惨淡一夜,2019年全球股市第一颗雷引爆...
  7. win7更改适配器设置没有本地连接解决方法
  8. 单片机魔法编程百度云_[2020][欧美][喜剧][魔法教母]高清资源百度云,高清1080P资源在线!...
  9. 20181220 Oracle程序包基本开发逻辑
  10. linux7inittab文件不存在,Linux下修复inittab文件丢失的两种方法
  11. 浅谈JavaScript--闭包
  12. [IIS网站问题]设置防火墙协议及端口等问题
  13. 如何防止135端口入侵
  14. 软件管理理论—目标管理 SMART 原则
  15. 利用python实现方差分析
  16. ASP模式“救星降临”?(转)
  17. n1进入recovery模式_斐讯N1盒子刷机救砖教程
  18. 树莓派有线网络设置_树莓派的基本网络配置
  19. bert-textcnn实现多标签文本分类(基于keras+keras-bert构建)
  20. 程序员的选择,技术or管理

热门文章

  1. python难度如何_【经验分享】想转行学python,过来人提醒大家几点
  2. Python数模笔记-Sklearn(2)聚类分析
  3. html字体阴影怎么设置6,css怎么设置字体阴影
  4. linux 管道交互,Linux C:具有独立读写命名管道的“交互式会话”?
  5. python java web前端 net 移动开发_JavaScript超越了Java,c,python等等成为Stack Overflow上最热门的...
  6. 泰坦尼克号数据集_机器学习入门—泰坦尼克号生存率预测
  7. Django配置bootstrap
  8. 【Python】datetime内置模块处理日期和时间
  9. 百练2815:城堡问题(DFS)
  10. 一、SQL语法——4-数据库约束