Procedure stockée avec mysql 5

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Procedure stockée avec mysql 5

par Hubert Roksor » 27 nov. 2007, 08:32

Tu n'utilises aucune gestion d'erreur, tu ne peux donc pas savoir si une erreur se produit. Essaie quelque chose comme
$connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
...et regarde du côté de PDO->errorInfo() et compagnie.

Ta première procédure devrait être appelée par

Code : Tout sélectionner

CALL `insert`()
...et ta seconde procédure "connect" ne me semble pas être définie.

Procedure stockée avec mysql 5

par sebpern » 27 nov. 2007, 01:08

bonjour
voici mon code php
<?php
$connexion = new PDO("mysql:host=127.0.0.1;port='3306';dbname=procstok", 'root', '');
$req=$connexion->prepare("CALL insert()");
$req->execute();
?>
et mon enorme procedure stockée !!!!!

Code : Tout sélectionner

CREATE PROCEDURE `insert`() BEGIN insert into t values(1,'jjj'); END;
et bien pas d'erreur mais cela ne fait rien en base

idem pour cela :
<?php
$connexion = new PDO("mysql:host=127.0.0.1;port='3306';dbname=procstok", 'root', '');
$req=$connexion->prepare("CALL connect(param1)");
$req->bindParam('param1', $resultat, PDO::PARAM_INT|PDO::PARAM_INPUT_OUTPUT);
$req->execute();
echo $resultat;
?>
avec cette procedure

Code : Tout sélectionner

CREATE PROCEDURE `new_proc`(INOUT n INTEGER(11)) BEGIN set n=9; END;
et bien mon echo ne m'affiche rien

qqln peut il m'eclairer merci bcp