2013-10-08 17 views
5

non ho potuto trovare alcun esempio di utilizzare mysql stored procedure utilizzando symfony 2 dottrina 2. Di seguito è la firma della mia stored procedure,Come chiamare mysql stored procedure con parametro output in symfony 2 usando doctrine 2?

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 

Come chiamare i suddetti parametri di stored procedure di accesso e di uscita user_id e nome_utente ?

ho già Googled su questioni simili, ma coun't trovare tale esempio, anche per refereed

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

risposta

6

Si dovrebbe utilizzare la connessione pdo_mysql nativo che si può ottenere da entityManager->getConnection() che restituisce l'oggetto pdo_mysql da che si può chiamare:

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

allora avete bisogno di utilizzare uno dei metodi di $sth->fetch DOP per ottenere i risultati.

Il riferimento, come per andare a prendere da una dichiarazione PDO è here

+0

Dopo $ connection-> prepare ("CALL get_matched_users_by_name (arg1, arg2, arg3, Arg4, OUT1, OUT2)"); Devo chiamare $ connection-> prepare ("select out1, out2"); ? – vishal

+0

@ user1191081 prova a dare un'occhiata a questa risposta http://stackoverflow.com/a/6450557/690839 – alex88

Problemi correlati