こんにちは、
7 つの IN パラメーターと 3 つの OUT パラメーターを持つストアド プロシージャがあります。PHP から 7 つのパラメーターを IN に渡し、プロシージャを使用してクエリを実行し、3 つの OUT パラメーターを取得する必要があります。
永続接続モードを有効にして mysqli を使用しています。(負荷に関する考慮事項) クエリを実行して結果を取得する最も効率的な方法は何ですか?
同時に実行されている他の PHP スクリプトに影響を与えず、結果自体をきれいにするものが必要です。それは簡単です。
これが私のアプリケーションです(簡略化)(実際の例ではなく、私が望んでいた方法です)
$inParam1 = 'wer';
$inParam2 = 'fewf';
$inParam3 = 'dsf';
$inParam4 = 'vccv';
$inParam5 = '34t3';
$inParam6 = 'ter';
$inParam7 = 'ert';
$query = "CALL my_procedure('$inParam1', '$inParam2', '$inParam3', '$inParam4', '$inParam5', '$inParam6', '$inParam7', @outParam8, @outParam9, @outParam10); SELECT @outParam8, @outParam9, @outParam10;";
$result = $mysql_query($query);
list($outParam1, $outParam2, $outParam3) = mysql_fetch_array($result);
echo $outParam1; // String param #1 that my procedure returned as an OUT variable
echo $outParam2; // String param #2 that my procedure returned as an OUT variable
echo $outParam3; // String param #3 that my procedure returned as an OUT variable
誰かがこのコードが実際にどのように見えるかを示すことができれば、お願いします!
私は明らかに適切な接続でmysqliを使用していますが、インターネットで見つけた例は本当に混乱していて効率が悪いようです.「nextResult」などのように動作するため、他のクライアントと競合しないか心配です.いくつかの奇妙な機能。
どうもありがとう!
PHP 5.3、MySQL 5.5