繁体   English   中英

内向存储过程PHP MySQLi

[英]In Out Stored Procedure PHP MySQLi

我有下面的PHP代码,用于通过调用存储过程将详细信息存储到表中:我希望以过程方式使用代码

$donpm = 0;
$cashCall = mysqli_prepare($dbc, 'call spCashDonation(?,@rno)');
mysqli_stmt_bind_param($cashCall, 'ssiid', $donFirstName, $donLastName, $donContactNo, $donpm, $donAmount);
mysqli_stmt_execute($cashCall) or die('Error recording Donation details.');

$getRno = mysqli_query($dbc, 'SELECT @rno');
$result = mysqli_fetch_assoc($getRno);
$ReceiptNo = $result['@rno'];

echo $ReceiptNo;

调用存储过程:

Call spCashDonation ('SAI','KUMAR',9967021655,0,10000,@rno);
select @rno as ReceiptNo;

我没有得到PHP代码的任何输出(收据编号)。 我是第一次编写PHP代码从MySQL调用过程。

请指教

好的,在进行了一些研究之后,似乎问题出在mysqli_prepare语句:错误的参数。

以下是精炼的代码:

$donpm = 0;
$cashCall = mysqli_prepare($dbc, 'call spCashDonation(?,?,?,?,?,@rno)');
mysqli_stmt_bind_param($cashCall, 'ssiid', $donFirstName, $donLastName, $donContactNo, $donpm, $donAmount);
mysqli_stmt_execute($cashCall) or die('Error recording Donation details.');

$getRno = mysqli_query($dbc, 'SELECT @rno');
$result = mysqli_fetch_assoc($getRno);
$ReceiptNo = $result['@rno'];

echo $ReceiptNo;
echo $donFirstName . ' ' . $donLastName . ' ' . $donContactNo . ' ' . $donpm . ' ' . $donAmount;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM