Offenso
@Offenso

Stored procedures, out parameter. mysqli, php?

Господа хабравчане.

У меня назрел такой вопрос.

Есть процедура
CREATE PROCEDURE iotest( IN a VARCHAR(16), OUT b VARCHAR(16) )<br/>
BEGIN<br/>
 SET b = a;<br/>
END //


Хочу использовать ее как (в mysqli)
$stmt = $con-&gt;prepare(&quot;call iotest(?,?)&quot;);<br/>
$a = 'test';<br/>
$b = 'result';<br/>
$name = 'b';<br/>
$stmt-&gt;bind_param(&quot;ss&quot;, $a, %some%); // в любой комбинации: $b / &$b / $name и другое.


Гугление дало только такое решение:

mysqli->prepare(«call iotest(?, @a); select @a;»);

Что конечно немного расстраивает. Да и не понятно как одновременно вернуть резалт сет и out параметр.

Что нибудь подскажете?
  • Вопрос задан
  • 2865 просмотров
Пригласить эксперта
Ответы на вопрос 2
Offenso
@Offenso Автор вопроса
если верить документации dev.mysql.com/doc/refman/5.0/en/call.html
То будет всегда два запроса.
Отдельно EXECUTE и отдельно SELECT OUT-параметров
Ответ написан
Комментировать
Offenso
@Offenso Автор вопроса
Для тех кто столкнулся с подобной проблемой адекватен переход на PostgreSQL
У них удобные утилиты для миграции c MySQL. Мне пришлось совсем немного править.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы