直升机,
我有一个包含 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