Helo,
У меня есть хранимая процедура, которая имеет 7 параметров IN и 3 OUT.Мне нужно передать 7 параметров IN из PHP, выполнить запрос с процедурой и получить 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