DuR0 Posté 3 Février 2007 Posté 3 Février 2007 Bonjour, Je n'ai aucune erreur lors de l'exécution de mon script mais je n'ai pas non plus de nouvelles données dans ma base... Voici mon script : <?phptry{$dbh = new PDO($dns, $user, $pass_bd);$sth = $dbh->prepare('CALL lb_AjoutArticle(?,?,?,?,?,?,?)');$sth->bindParam(1, $_POST['titre'],PDO::PARAM_INPUT_OUTPUT);$sth->bindParam(2, $_POST['stitre'],PDO::PARAM_INPUT_OUTPUT);$sth->bindParam(3, $_POST['intro'],PDO::PARAM_INPUT_OUTPUT);$sth->bindParam(4, $_POST['contenu'],PDO::PARAM_INPUT_OUTPUT);$sth->bindParam(5, $_POST['sujet'],PDO::PARAM_INPUT_OUTPUT);$sth->bindParam(6, $_POST['langage'],PDO::PARAM_INPUT_OUTPUT);$sth->bindParam(7, $_POST['invite'],PDO::PARAM_INPUT_OUTPUT);$sth->execute();} catch( Exception $e){ echo "Échec : " . $e->getMessage(); }?> Voilà ma procédure : BEGIN DECLARE v_id_l INTEGER; DECLARE v_id_s INTEGER; DECLARE v_id_i INTEGER; Select lb_langage.`id_langage` INTO v_id_l From lb_langage Where lb_langage.`nom_langage` Like p_langage; If v_id_l IS NULL Then INSERT INTO lb_langage Values ('', p_langage, ' ', 'A completer'); Select lb_langage.`id_langage` INTO v_id_l From lb_langage Where lb_langage.`nom_langage` Like p_langage; End If; Select lb_sujet.`id_sujet` INTO v_id_s From lb_sujet Where lb_sujet.`nom_sujet` Like p_sujet; If v_id_s IS NULL Then INSERT INTO lb_sujet Values ('', p_sujet); Select lb_sujet.`id_sujet` INTO v_id_s From lb_sujet Where lb_sujet.`nom_sujet` Like p_sujet; End If; If p_invite IS NOT NULL Then Select lb_invite.`id_invite` INTO v_id_i From lb_invite Where lb_invite.`nom_invite` Like p_invite; If v_id_i IS NULL Then INSERT INTO lb_invite Values ('', p_invite, ' ', 'http://'); Select lb_invite.`id_invite` INTO v_id_i From lb_invite Where lb_invite.`nom_invite` Like p_invite; End If; End If; INSERT INTO lb_articles VALUES ('', p_titre, p_stitre, p_intro, p_contenu, v_id_s, v_id_l, v_id_i); COMMIT;END Je sais c'est pas trop bien programmer (la procédure) mais venant du pl/sql je sais pas trop ce que je sais faire... Merci pour votre aide!
robinsonvendredi Posté 4 Février 2007 Posté 4 Février 2007 Déjà un premier truc qui me semble bizarre Tu pourrais avoir plusieurs résultats pour : Select lb_langage.`id_langage` From lb_langage Where lb_langage.`nom_langage` Like p_langage; Donc impossible de les charger sur une seule variable En principe SELECT INTO insère dans une table
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant