Bonjour,
j'appelle une procédure stockée dans mon code PHP, mais, rien ne se passe:
pas d'erreur, pas d'insertion..
La version de MySql : 5
Code PHP (appel de la procédure):
La procédure stockée :
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35 if( isset($_POST['INSERT_BIEN']) == 'Ajouter') { $id_ven_loc=$_POST['choix_ven_loc']; $id_typ_bien=$_POST['choix']; $prix=$_POST['prix']; $etat=$_POST['etat']; $surface=$_POST['surface']; $id_ville=$_POST['choixVille']; $com=$_POST['com']; $quartier=$_POST['quartier']; $piece = $_POST['nbPiece']; try { echo "try"; $dbh = new PDO("mysql:host=localhost;dbname=nbyimmo", "root", "************"); } catch(PDOException $e) { echo $e->getMessage(); die(); } echo "stmt1"; $stmt = $dbh->prepare("CALL pcnb_ajout_bie($etat,$surface,$piece,$prix,$com,$id_ville,$quartier,$id_ven_loc,$id_typ_bien)"); echo "stmt2"; // Appel de la procédure stockée echo "exe1"; $stmt->execute(); echo "exe2"; if(false != ($return_value = $stmt->fetch(PDO::FETCH_ASSOC))) { echo "(La procédure a retourné : $return_value[Result])"; } else { echo "(La procédure a retourné uuuuuu : $return_value)"; } }
Je sais plus où chercher...
Code sql : 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
22
23
24 DELIMITER $$ -- -- Procédures -- DROP PROCEDURE IF EXISTS `pcnb_ajout_bien`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `pcnb_ajout_bien`( in etat varchar(10), in surface int, in piece int, in prix varchar(10), in com varchar(1000), in id_ville int, in quartier varchar(20), in id_ven_loc int, in val_ven_loc int) begin declare id_bien int; INSERT INTO biens (etat,surface,piece,prix,com,id_ville,quartier,id_ven_loc) values (etat,surface,piece,prix,com,id_ville,quartier,id_ven_loc); SELECT LAST_INSERT_ID() into id_bien; INSERT INTO rel_bien_typ (id_bien,id_typ_bien) values (id_bien,val_ven_loc); end$$
J'ai aussi cherché à exécuter ma procédure dans une fenetre mysql...mais rien a faire, j'ai une erreur quand je me connecte :
ERROR 1045 (28000): AccÞs refusÚ pour l'utilisateur: 'ODBC'@'@localhost' (mot de passe: OUI)
Si quelqu'un a une idée...
Merci,
Partager