Réponse acceptée !
Merci pour ta réponse.
Les méthodes PrepareSP() et InParameter sont fournies dans les classes adodb des packages php.
finalement, je suis passé par un objet COM pour créer ma fonction, et ça tourne niquel. En fait, c'etait ma connexion qui n'acceptait pas ces commandes...
Voilà ce que ça donne maintenant:
public function execQueryCom($Query,$Param)
{
//initialisation de la connection adodb
$conn = new COM("ADODB.Connection");
$conn->CommandTimeout=0;
$conn->ConnectionTimeout=0;
$conn->Open(DB_DSN." UID=".DB_USER.";PWD=".DB_PASSWORD.";");
//initialisation de la commande adodb
$oCmd = new COM("ADODB.Command");
$oCmd->ActiveConnection = $conn ;
$oCmd->CommandText = $Query;
//le type 4 correspond a l'execution de proc stock
$oCmd->CommandType = 4;
$oCmd->CommandTimeout = 0;
$oCmd->Prepared = true;
$var = trim($Param);
//je test le type du parametre fourni et je le traite différement suivant son type ->affectation parametre d'netree
if (is_string($Param))
{
$oCmd->Parameters->Append( $oCmd->CreateParameter("@entree", 200, 1 , 255, $var));
}
else
{
if (is_int($Param))
{
$oCmd->Parameters->Append( $oCmd->CreateParameter("@entree", 3, 1 , 10, $param));
}
else
{
if (is_float($Param))
{
$oCmd->Parameters->Append( $oCmd->CreateParameter("@entree", 14, 1 , 20, $param));
}
else
{
if (is_bool($Param))
{
$oCmd->Parameters->Append( $oCmd->CreateParameter("@entree", 11, 1 , 6, $param));
}
}
}
}
//je recupere ma cvariable de sortie
$oCmd->Parameters->Append( $oCmd->CreateParameter("@sortie", 3, 2 ,5 , 0) );
$oCmd->Execute();
return $oCmd->Parameters['@sortie']->Value;
}
J'ai donc pu résoudre mon problème, je peux facilement executer mes procedures stockées! 