成功时从MySql中的存储过程返回一些内容

时间:2015-04-28 15:01:24

标签: php mysql stored-procedures

我正在做一个学校项目,我必须建立一个银行并做转移等。 所以我已经制作了两个存储过程,取款和存款,都将帐号和金额作为参数。

CREATE DEFINER=`bank`@`localhost` PROCEDURE `withdraw`(
    IN p_account INT(11),
    IN p_amount DOUBLE
)
BEGIN

DECLARE p_balance double;
SELECT balance
INTO p_balance FROM
Accounts
WHERE
account_id = p_account;

IF p_balance >= p_amount THEN
UPDATE Accounts
SET balance = p_balance - p_amount
WHERE account_id = p_account;
//tell my php somehow
ELSE
//tell my php somehow
END IF;

END

我一直在搜索google干,我已经尝试过了:

创建一个函数并从函数返回一个值(一些教程..没有工作的x xD)

声明输出值(OUT p_result INT)并设置int,没有运气

我已经尝试过,让输出值无效。

我想要的是在我的PHP脚本

$sql = "CALL withdraw(1,500);"
$result = conn->query($sql);
if($result=true){
    conn->query("CALL deposit(2,500)");
} else {
    //inform user
} 

编辑!:我现在在我的程序中选择一些东西,在存款()中,返回是一个电子邮件地址。

在撤回()中,退货是已撤回的帐户。 两者都可以1比1正常工作。 但是当我先撤回()然后存入()如果撤回成功,那么我的var_dump($ result)= bool(false)

1 个答案:

答案 0 :(得分:0)

存储的PROCEDURES可以返回结果集。您在存储过程中选择的最后一项内容可用作调用环境的结果集。存储的FUNCTIONS只能返回单个结果原语。