->bind absent de la version 1.7 ?
Bonjour,
Dans la doc de Zend Framework, je trouve ce petit bout de code pour faire les requêtes proprement :
Code:
1 2
|
- $rows = $table->fetchAll(
- $table->select()
- ->where('bug_status = :status')
- ->bind(array(':status'=>'NEW')
- ->order('bug_id ASC')
- ->limit(10, 0)
- );
|
J'essaie avec mon appli :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| // Recherche de la personne saisie
$personne = new Personne();
$select = $personne ->select();
$select ->setIntegrityCheck(false)
->from(array('p' => 'T_Personne_PRS'), 'COUNT(*)');
$where = 'p.PRS_Nom = :nom AND p.PRS_Prenom = :prenom ';
if ($service_emetteur != '0')
{
// L'émetteur a choisi son service dans la liste déroulante
$service = intval($service_emetteur);
$where .= 'AND p.PRS_Id_Service = :service ';
}
else
{
// L'émetteur a saisi le nom de son service
$select->join(array('s' => 'T_Service_SRV'),
's.SRV_Id = p.PRS_Id_Service ',
array()
);
$service = $form->getValue('service');
$where .= 'AND s.SRV_Nom = :service ';
} // Fin du else de if ($service_emetteur != '0')
$select ->where($where)
->bind (array( ':nom' => $nom_emetteur,
':prenom' => $prenom_emetteur,
':service' => $service)
);
$sql = $select->__toString();
echo $sql;
echo 'nom : '.$nom_emetteur;
echo '<br />prénom : '.$prenom_emetteur;
echo '<br />service : '.$service;
exit; |
Le méchant Zend me répond :
Citation:
Fatal error: Uncaught exception 'Zend_Db_Select_Exception' with message 'Unrecognized method 'bind()'' in /usr/share/php/Zend/Db/Select.php
J'ai un peu cherché dans les programmes de Zend_Db mais je n'ai effectivement pas trouvé de fonction appelée strictement "bind".
C'est apparu après la version 1.7 ou c'est moi qui l'utilise mal ?
Si ce n'est pas dispo, comment faire ça proprement en version 1.7 ?