mysql - 如何使用 doctrine 2 在 symfony 2 中调用带输出参数的 mysql 存储过程?

标签 mysql symfony stored-procedures doctrine-orm

我找不到任何使用 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() 获得的 native pdo_mysql 连接,它返回您可以调用的 pdo_mysql 对象:

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

然后你需要使用 pdo 的 $sth->fetch 方法之一来获取结果。

如何从 pdo 语句中获取的引用是 here

关于mysql - 如何使用 doctrine 2 在 symfony 2 中调用带输出参数的 mysql 存储过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19246349/

相关文章:

html - 如何使用 inspect element 定位实际的 HTML 文件?

php - PHP 7.2 中 SELECT 后 PDO::lastInsertId 重置

mysql - 读取9GB的SQL脚本文件

mysql - 为什么 MongoDB 的 skip() 这么慢不好用,而 MySQL 的 LIMIT 这么快?

mysql - 选择一列上的不同并返回其行

mysql - 如何调用mysql中的存储过程?

symfony - 使用变量作为 twig 中的散列键(作为 path() 或 |trans 中的参数)

找不到 PHP 7 DOMDocument

mysql - 有没有办法将一行作为参数传递给 MySQL 函数?

java - 使用 jdbc 从 plsql 获取 sys 游标时出错