CodeIgniter et récupération des paramètres de procédures stockés

CodeIgniter et récupération des paramètres de procédures stockés - PHP - Programmation

Marsh Posté le 22-04-2010 à 19:27:56    

Bonjour, je suis depuis deux jours sur un problème bien chiant avec le framework CodeIgniter et un serveur microsoft sql 2008.
 
J'ai crée une procédure avec deux paramètres d'entrée et un paramètre de sortie (je n'en ai jamais fait avant je précise).
 
Bref j'ai voulu commencer facile, la procédure consiste en un simple SELECT COUNT(*).
 
Le problème est que ma procédure marche quand je la teste avec le sql management studio mais qu'il m'est IMPOSSIBLE de récupérer la variable de sortie dans mon code php :cry:
 
Voici donc la procédure :  

USE [monitoring2]
GO
/****** Object:  StoredProcedure [dbo].[connexion]    Script Date: 04/22/2010 19:25:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- Batch submitted through debugger: SQLQuery1.sql|0|0|C:\Users\admin\AppData\Local\Temp\~vs4B74.sql
ALTER PROCEDURE [dbo].[connexion] (@login varchar(32), @password varchar(255),@resultat AS int OUTPUT)
AS
BEGIN
SELECT @resultat = COUNT(*)
FROM utilisateurs
WHERE utilisateurs.login = @login
AND utilisateurs.pass = @password
END


 
Cette procédure m'a l'air de fonctionner et me renvoie bien 1 ou 0 quand je teste sous sql management studio.
 
Enfin le code php :  
 

Code :
  1. function connecter()
  2. {
  3. $sql = "DECLARE @resultat AS int;
  4. EXECUTE connexion @login= ?, @password= ?,@resultat = 0;
  5. SELECT @resultat;";
  6. $query = $this->db->query($sql, array('admin', '9d4e1e23bd5b727046a9e3b4b7db57bd8d6ee684'));
  7. $res = $query->result_array();
  8. print_r($res);
  9. echo "<br />";
  10. print_r($query);
  11. echo "Fin de fonction";
  12.  if(!empty($query) && $query->num_rows == 1)
  13.  {
  14.   return true;
  15.  }
  16. }


 
Enfin voici ce que j'obtiens en sortie :  

Array ( [0] => Array ( [computed] => ) )
CI_DB_mssql_result Object ( [conn_id] => Resource id #46 [result_id] => Resource id #58 [result_array] => Array ( [0] => Array ( [computed] => ) ) [result_object] => Array ( ) [current_row] => 0 [num_rows] => 1 [row_data] => )


 
Help   :sweat:


---------------
204 - No Content
Reply

Marsh Posté le 22-04-2010 à 19:27:56   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed