Bonjour à tous,
Je suis en train de faire des fonctions stockées avec Mysql et Zend.
Les procédures stockées, c ok.. les vues, c ok, mais pas les fonctions stockées.
J'ai des erreurs de syntaxe ou alors le moteur mysql me dit la procédure is_test() n'existe pas (et oui, c une fonction)
Par exemple, la fonction (qui aura des paramètres en fait) :Avec Zend :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 BEGIN declare is_test bool; SELECT count(`USR_ID`) > 0 INTO is_test FROM `utilisateur`; RETURN is_test; ENDJ'ai essayé plusieurs manieres de faire (comme pour les vues) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $dbAdapter = Zend_Registry::get('front_db'); $func = 'CALL is_test()'; $stmt= $dbAdapter->query($func);Les 2 ne marchent pas, comment faire ?.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $func = 'SELECT * FROM is_test()';
Pour rappel, voici comment faire pour des procédures stockées et des vues (si çà peut aider quelqu'un ) :Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 $call = 'CALL sp_utilisateur_ins("'. $data['USR_IDENTIFIANT'].'","'. $data['USR_MOT_DE_PASSE'].'","'. $data['USR_ADRESSE_EMAIL'].'","'. $data['USR_CONTROLE'].'","'. $data['USR_ROLE'].'","'. $data['USR_CLE_ACTIVATION'].'","'. '0","'. $data['USR_DATE_CREATION'].'","'. '1",'. '@PAR_USR_ID)'; $stmt = $dbAdapter->query($call); $row = $dbAdapter->query("SELECT @PAR_USR_ID"); $row = $row->fetchAll(); $insertId = (int)$row[0]['@PAR_USR_ID']; $rows= $dbAdapter->query("SELECT * FROM view_available_annonce"); var_dump($rows->fetchAll());
Fabrice
Partager