【发布时间】:2014-04-26 01:51:01
【问题描述】:
我需要为数组中的每个元素执行一个 mssql 存储过程,我该怎么做... 我这里有一个例子,但它只执行一次。我猜数据库在第一次执行时被锁定,这就是它只执行一次的原因。
我应该创建一个递归函数吗?并且仅在输出为 TRUE 时才运行该程序??
这是我的代码:
function executeStoreProcedure($movementsArray = array(), $mssql_link) {
$output;
$retval;
$spName = "SDNuevaOperacion";
var_dump($movementsArray);
foreach($movementsArray as $movement) {
$statement = mssql_init("SDNuevaOperacion", $mssql_link);
$isBinded = mssql_bind($statement, "@PRSLink", $movement["client_id"], SQLINT1);
$isBinded = mssql_bind($statement, "@UserLogged", $movement["imei"], SQLVARCHAR, false, false, 30);
$isBinded = mssql_bind($statement, "@AutoInc", $movement["move_id"], SQLINT1);
$isBinded = mssql_bind($statement, "@Fecha", $movement["move_date"], SQLVARCHAR);
$isBinded = mssql_bind($statement, "@CantBotEntr", $movement["delivery"], SQLINT1);
$isBinded = mssql_bind($statement, "@CantBotRet", $movement["withdrawal"], SQLINT1);
$isBinded = mssql_bind($statement, "@Pago", $movement["payment"], SQLFLT8);
$isBinded = mssql_bind($statement, "@Resultado", $output, SQLVARCHAR, true, false, 2);
$retval = mssql_execute($statement);
$result = $output;
mssql_free_statement($statement);
var_dump($retval);
var_dump($result);
return $result;
}
}
【问题讨论】:
标签: php stored-procedures for-loop recursion sql-server-2000