Dobrý den,
nedokázal by mě někdo poradit, jak zavolat proceduru na serveru, která má dva paramtery. První klasický varchar, druhý pole varcharů.
$result = db_query('select procedura(:param1,:param2) as exe',
array(':param1' => $_SESSION['param1'],
':param2' => array('2342','2343','2341')),
array('target' => $_SESSION['db']))->fetchObject();
Po zavolání dostávám chybu, protože se volá funkce s jinými vstupními parametry, která logicky na serveru neexistuje: ERROR: function procedura(unknown, unknown, unknown, unknown) does not exist. You might need to add explicit type casts.: select procedura(:param1,:param2_0, :param2_1, :param2_2) as exe; Array ( [:param1] => 1243801 [:param2_0] => 2342 [:param2_1] => 2343 [:param2_2] => 2341 ).
Podstatu problému chápu, ale jak "zapsat" příkaz tak, aby se do procedury posílaly právě 2 parametry?
Děkuji za případné reakci
Martin
Tak jsem to vyřešil tak, že param2 převádím z pole na řetězec a na straně serveru zase zpátky, viz:
':param2' => implode9array('2342','2343','2341'))),