问题:如何使用教义2在symfony 2中调用带有输出参数的mysql存储过程?

我找不到任何使用 symfony 2 学说 2 使用 mysql 存储过程的示例。下面是我的存储过程的签名,

CREATE PROCEDURE `get_matched_users_by_name` (IN lastname VARCHAR(50), IN firstname VARCHAR(50), IN middlename VARCHAR(50), IN debug INT(11), OUT user_id INT(11), OUT user_name VARCHAR(60))

BEGIN
 .....
 .....

END

如何调用上述存储过程并访问输出参数 user_id 和 user_name ?

我已经用谷歌搜索过类似的问题,但找不到这样的例子,也提到

http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/native-sql.html#examples

解答

您应该使用可以从entityManager->getConnection()获得的本机 pdo_mysql 连接,该连接返回您可以调用的 pdo_mysql 对象:

$sth = $connection->prepare("CALL get_matched_users_by_name(arguments)");
$sth->execute();

那么你需要使用pdo的$sth->fetch方法之一来得到结果。

如何从 pdo 语句中获取的参考是这里

Logo

华为、百度、京东云现已入驻,来创建你的专属开发者社区吧!

更多推荐