|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Nouveau membre du Club
![]() Date d'inscription: décembre 2008
Âge: 29
Messages: 60
|
Bonne rencontre,
Après une recherche sur ce forum et sur la toile, j’ai l’impression qu’il y a un flou et beaucoup d’informations contradictoire sur les procédures stockées avec PHP. J’ai déjà réalisé ce genre de travail mais avec un SGBD en MSSQL. Code :
[…] //On appel la procédure stockée $stmt = mssql_init('AddAgence', $conn); //On fait les binds mssql_bind($stmt, "@Nom", $nom, SQLVARCHAR); mssql_bind($stmt, "@fkAgence",$agencemere, SQLINT4); //On injecte $proc_result = mssql_execute($stmt); // On exploite le résultat ici un seule valeur de retour $row = mssql_fetch_row($proc_result) […] Par contre et c’est là que je suis étonné, ce n’est pas très clair avec un SGBD comme Mysql. J’ai lu que pour utiliser une procédure stockée en PHP avec du Mysql, il fallait utiliser du mysqli ? Vrai ou faux ? Dans ce cas et si j’ai bien compris, on doit faire comme ceci : Code :
<?php $link = mysqli_connect("localhost", $username, $password, $database); $query = "CALL ps_chercher(ma, liste, de, param);"; $stmt = mysqli_prepare($link, $query); mysqli_stmt_execute($stmt); mysqli_stmt_bind_result($stmt, $1, $2, $3, $4, $5); while (mysqli_stmt_fetch($stmt)) { printf ("%s - %s - %s - %s - %s<br>", $1, $2, $3, $4, $5); } mysqli_stmt_close($stmt); mysqli_close($link); ?> Code :
<?php $stmt = $dbh->prepare("CALL sp_returns_string(?)"); $stmt->bindParam(1, $return_value, PDO::PARAM_STR, 4000); // Appel de la procédure stockée $stmt->execute(); print "La procédure a retourné : $return_value\n"; ?> Il y a t-il d'autres méthodes ? D'avance, merci. Amicalement, Cerbère. |
|
|
|
|
|
#2 |
|
Nouveau membre du Club
![]() Date d'inscription: octobre 2007
Messages: 66
|
bonjour,
de ce que j'en sais il n'y a pas d'obligation à passer par une requete préparée pour appeler une procédure stockée, tu peux le faire par un simple $mysqli/PdoLink->query($sql). quand à l'obligation d'utiliser mysqli, je ne crois pas. quand à pdo le driver pdo_mysql est intégré en natif avec php 5.3 comme remplacant du driver mysqlnd utilisé jusqu'ici, utilisé comme base dans des outils style doctrine. Dans un sens certainnement plus au point que ce qu'on pourrait coder à la manno. |
|
|
|
|
|
#3 |
|
Nouveau membre du Club
![]() Date d'inscription: décembre 2008
Âge: 29
Messages: 60
|
Merci pour ta réponse Djef-69.
Tu es la deuxième personne qui me conseil d'utiliser du PDO malgré mes appréhensions qui ne sont certainement pas fondée. Je pense que nous allons opter pour cette technique. |
|
|
|
|
|
![]() |
||
Aide sur les Procédures stockées
|
||
| Outils de la discussion | |
|
|