Проведя исследования в Интернете, я обнаружил, что с помощью методов подготовки PDO, bindParam и выполнения очень просто.
Пример процедуры магазина с использованием моего класса:
$mssql->bind_params = array(
'BatchNum' => array(
'value' => 'SS000008'
),
'RecCount' => array(
'value' => 0,
'type' => PDO::PARAM_INT,
'length' => 8
)
);
$mssql->sql("{CALL sp_Batch_Sales(@paramOne=:paramOne,@paramTwo=:paramTwo)}");
Это преобразуется в:
$query = $PDO->prepare({CALL sp_Batch_Sales(@paramOne=:paramOne,@paramTwo=:paramTwo)});
$query->bindParam(':paramOne',$returned_parameters['paramOne']);
$query->bindParam(':paramTwo',$returned_parameters['paramTwo'],PDO::PARAM_INT,8);
$query->execute();
Наборы записей затем могут быть получены с помощью:
do{
// Get the results
$results = $query->fetchAll(PDO::FETCH_ASSOC);
// Only place the results into the array if they exist
if(!empty($results)){
$data[$i]['results'] = $results;
}
// Set the number of rows in the result array
$data[$i]['rows'] = $query->rowCount();
// Increment i
$i++;
}while($query->nextRowset());
А входные и выходные параметры можно получить с помощью массива:
$returned_parameters
Надеюсь, это поможет