Problème avec le nombre de paramètres d'une fonction
Bonsoir Imikado
Mon problème est comme indiqué dans le titre voici les détails :
la fonction dans ma couche modèle :
Code:
1 2 3 4 5 6
|
public function maScolarite($sParamRec,$sParamRec2,$sParamRec3){
return $this->findMany('SELECT * FROM t_mesinfos WHERE concat_ws (" ",`noms_adh`,`prenoms_adh`) LIKE "%:Parametre1%"
AND `Ansco_adh` LIKE :Parametre2 AND `Ecole_adh` LIKE :Parametre3 ORDER BY concat_ws (" ",`noms_adh`,`prenoms_adh`)',
array('Parametre1'=>$sParamRec,'Parametre2'=>$sParamRec2,'Parametre3'=>$sParamRec3) ) ;
} |
La fonction dans mon contrôleur :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
public function _recScolarite(){
//tableau pour recuperer les informations
$tmesinfos=null;
//si on effectue une recherche
if(_root::getParam('lenomcomplet') and _root::getParam('lannee')){
$tmesinfos=model_t_mesinfos::getInstance()->maScolarite(_root::getParam('lenomcomplet'),_root::getParam('lannee'),_root::getParam('monecole') );
}
$tansco=model_ansco::getInstance()->getSelect();
$t_mesecoles=model_t_mesecoles::getInstance()->getSelect();
$oView=new _view('t_mesinfos::recScolarite');
$oView->tansco=$tansco;
$oView->t_mesecoles=$t_mesecoles;
$oView->t_mesinfos=$tmesinfos;
$this->oLayout->add('main',$oView);
} |
et le un extrait de ma vue :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
<?php
$oForm=new plugin_form();
?>
<h5>RECHERCHE PAR LE NOM COMPLET</h5>
<br></br>
<form action=" " method="POST">
<label>Entrer le Nom Complet :</label><?php echo $oForm->getInputText('lenomcomplet');?>
<br></br>
<label>Choississez Annee Academique : </label>
<?php echo $oForm->getSelect('lannee',$this->tansco)?>
<br></br>
<label>Choississez l'Ecole : </label>
<?php echo $oForm->getSelect('monecole',$this->t_mesecoles)?>
<br></br>
<input type="submit" value="rechercher"/>
</form> |
Pour finir voici l'erreur que j'ai :
Citation:
PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
Hors j'ai bien les trois paramètres qui sont passés au formulaire :calim2:
Citation:
Detail:
#0 exception_error_handler( , 'PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens' , 'C:\wamp64\www\mkframework\lib\framework\abstract\abstract_sgbd_pdo.php' , , Array ( [sReq] => SELECT * FROM t_mesinfos WHERE concat_ws (" ",`noms_adh`,`prenoms_adh`) LIKE "%:Parametre1%" AND `Ansco_adh` LIKE :Parametre2 AND `Ecole_adh` LIKE :Parametre3 ORDER BY concat_ws (" ",`noms_adh`,`prenoms_adh`) [tParam] => Array ( [Parametre1] => sssssss [Parametre2] => 2012-2013 [Parametre3] => CIFA ) [tATTRERRMODE] => Array ( [SILENT] => 0 [WARNING] => 1 [EXCEPTION] => 2 ) [tATTRCASE] => Array ( [LOWER] => 2 [NATURAL] => 0 [UPPER] => 1 ) [sth] => PDOStatement Object ( [queryString] => SELECT * FROM t_mesinfos WHERE concat_ws (" ",`noms_adh`,`prenoms_adh`) LIKE "%:Parametre1%" AND `Ansco_adh` LIKE :Parametre2 AND `Ecole_adh` LIKE :Parametre3 ORDER BY concat_ws (" ",`noms_adh`,`prenoms_adh`) ) ) )
#1 C:\wamp64\www\mkframework\lib\framework\abstract\abstract_sgbd_pdo.php (251)
PDOStatement -> execute( Array ( [Parametre1] => sssssss [Parametre2] => 2012-2013 [Parametre3] => CIFA ) )
#2 C:\wamp64\www\mkframework\lib\framework\abstract\abstract_sgbd_pdo.php (150)
abstract_sgbd_pdo -> query( 'SELECT * FROM t_mesinfos WHERE concat_ws (" ",`noms_adh`,`prenoms_adh`) LIKE "%:Parametre1%"
AND `Ansco_adh` LIKE :Parametre2 AND `Ecole_adh` LIKE :Parametre3 ORDER BY concat_ws (" ",`noms_adh`,`prenoms_adh`)' , Array ( [Parametre1] => sssssss [Parametre2] => 2012-2013 [Parametre3] => CIFA ) )
#3 C:\wamp64\www\mkframework\lib\framework\abstract\abstract_model.php (134)
abstract_sgbd_pdo -> findMany( Array ( [0] => SELECT * FROM t_mesinfos WHERE concat_ws (" ",`noms_adh`,`prenoms_adh`) LIKE "%:Parametre1%" AND `Ansco_adh` LIKE :Parametre2 AND `Ecole_adh` LIKE :Parametre3 ORDER BY concat_ws (" ",`noms_adh`,`prenoms_adh`) [1] => Array ( [Parametre1] => sssssss [Parametre2] => 2012-2013 [Parametre3] => CIFA ) ) , 'row_t_mesinfos' )
#4 C:\wamp64\www\mkframework\data\genere\rustaconnect\model\model_t_mesinfos.php (25)
abstract_model -> findMany( 'SELECT * FROM t_mesinfos WHERE concat_ws (" ",`noms_adh`,`prenoms_adh`) LIKE "%:Parametre1%"
AND `Ansco_adh` LIKE :Parametre2 AND `Ecole_adh` LIKE :Parametre3 ORDER BY concat_ws (" ",`noms_adh`,`prenoms_adh`)' , Array ( [Parametre1] => sssssss [Parametre2] => 2012-2013 [Parametre3] => CIFA ) )
#5 C:\wamp64\www\mkframework\data\genere\rustaconnect\module\t_mesinfos\main.php (115)
model_t_mesinfos -> maScolarite( 'sssssss' , '2012-2013' , 'CIFA' )
#6 C:\wamp64\www\mkframework\lib\framework\class_root.php (264)
module_t_mesinfos -> _recScolarite( )
#7 C:\wamp64\www\mkframework\data\genere\rustaconnect\public\index.php (47)
_root -> run( )
#8 {main}
Merci de m'aiguiller