2016-05-18 5 views
0

私は、ストアドプロシージャを呼び出すことにより、テーブルに詳細を保存するためのPHPコードの下にあります。ストアドプロシージャPHP MySQLiを

:私は、手続きの方法で

ストアドプロシージャを呼び出す
$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コード(領収書番号)の出力がありません。初めて私はMySQLからプロシージャを呼び出すPHPコードを書いています。不正なパラメータ:

いくつかの研究を行った後

+0

もPHPからInOutのストアドプロシージャを呼び出すための適切な手順についてアドバイスを行ってください。以下は

は、洗練されたコードです。ありがとう – Rajiv

+0

これらのことを別々に学ぶことをお勧めします。準備されたステートメントを試してから、mysqliでストアドプロシージャを呼び出し、最後にそれらを組み合わせてください。 –

+0

ありがとうございますサンプルコードまたはリファレンスがありますか? – Rajiv

答えて

0

わかりましたので、アドバイスをしてください、問題が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;