小编Joh*_*Doe的帖子

PHP:使用INPUT和OUTPUT参数调用MySQL存储过程(不是"INOUT")

从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 ;
Run Code Online (Sandbox Code Playgroud)

现在,从PHP脚本/页面方面,说我有以下变量(我们将它们称为"proc输入变量"),当我调用它时,我想将其作为输入参数提供给存储过程:

$procInput1 = "123";
$procInput2 = "456";
$procInput3 = "789";
Run Code Online (Sandbox Code Playgroud)

让我们说在PHP脚本/页面上我还有以下变量(我们将它们称为"proc输出变量"),我想将它作为 …

php mysql stored-procedures

10
推荐指数
1
解决办法
4万
查看次数

为什么Perl文件测试运算符"-l"没有检测到符号链接?

为什么Perl文件测试运算符"-l"在以下条件下无法检测到符号链接?

系统信息

john@testbed-LT:/temp2/test$ uname -a
Linux Apophis-LT 4.13.0-37-generic #42-Ubuntu SMP Wed Mar 7 14:13:23 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

john@testbed-LT:/temp2/test$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 17.10
Release:        17.10
Codename:       artful
Run Code Online (Sandbox Code Playgroud)

Perl信息

john@testbed-LT:/temp2/test$ perl -v

This is perl 5, version 26, subversion 0 (v5.26.0) built for x86_64-linux-gnu-thread-multi (with 56 registered patches, see perl -V for more detail)
Run Code Online (Sandbox Code Playgroud)

测试资源

john@testbed-LT:/temp2/test$ touch regular_file
john@testbed-LT:/temp2/test$ mkdir dir
john@testbed-LT:/temp2/test$ ln -s regular_file symlink

john@testbed-LT:/temp2/test$ ls -al
total …
Run Code Online (Sandbox Code Playgroud)

perl symlink file

4
推荐指数
1
解决办法
124
查看次数

标签 统计

file ×1

mysql ×1

perl ×1

php ×1

stored-procedures ×1

symlink ×1