Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

PHP + PROCEDURES STOCKEES SOUS MSSQL SERVEUR


Information sur la source

Catégorie :Base de données Niveau : Initié Date de création : 16/09/2004 Date de mise à jour : 16/09/2004 18:29:19 Vu / téléchargé: 8 291 / 410

Note :
9 / 10 - par 2 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

Description

Voila un p'tit script qui permet de se connecter a sql serveur 2000
d'initialiser la sp (procedure stockee) et de l'executer.

Pour faire tourner sql serveur 2000 avec php
suivez ce lien :

http://php.planetmirror.com/manual/fr/ref.mssql.php

Pour ceux qui n'ont pas ms sql serveur sur leur machine, sachez que microsoft
a cree MSDE :
Microsoft SQL-server Desktop Edition, est une version light de SQL-server.
MSDE est gratuit et disponible en téléchargement ici :

http://www.asp.net/msde/default.aspx?tabindex=0&tabid=1

Pour une p'tite presentation de msde suivez ce lien :

http://dotnet.developpez.com/articles/msde/

Dans le .zip, vous trouverez :
-------------------------------

un fichier en .php qui est le fichier a lancer pour executer la sp.
un fichier en .sql que vous devez copier coller dans l'analyseur de requetes afin
de creer la table et la sp.
un fichier info.text

 

Source

  • Voici la procedure stockee qui ne fait que d'inserer un record ds une db et renvoit la clef inserer
  • ----------------------------------------------------------------------------------------------------
  • Create PROC ajoutlivres
  • --declartations des variables
  • @nouvtitre varchar(50),
  • @nouvedition varchar(30),
  • @nouvisbn varchar(20)
  • @cleflivre int output
  • --champ statut pas declare
  • --le 1 signifie => utilisable
  • --0 => supprimer
  • --rerquete insert
  • as
  • insert into livres
  • (titre, edition, isbn, statut)
  • values (@nouvtitre, @nouvedition, @nouvisbn, '1')
  • --recupere identifiant et le renvoit fraca a output
  • set @cleflivre = (select @@IDENTITY as PK_livre)
  • Le script php :
  • ----------------------------
  • <?php
  • /*DECLARATIONS POUR LA CONNECTION*/
  • $MonServer = "localhost";
  • $MonUser = "sa";
  • $MonPass = "VotreMotPasse";
  • $MaDB = "VotreDb";
  • /*CONNECTION A SQL SERVEUR*/
  • $s = @mssql_connect($MonServer, $MonUser, $MonPass)
  • or die("Couldn't connect to SQL Server on $MonServer");
  • /*SELECTION DE LA DB*/
  • $d = @mssql_select_db($MaDB, $s)
  • or die("Couldn't open database $MaDB");
  • echo"Test de connection à la base:".$MaDB;
  • echo"<br>";
  • /* appel et intitialisation */
  • $query = mssql_init("ajoutlivres", $s);
  • $newtitre="Test";
  • $newedition="Test";
  • $newisbn="Test";
  • /* INITIALISATION */
  • mssql_bind($query, "@nouvtitre", $newtitre, SQLVARCHAR);
  • mssql_bind($query, "@nouvedition", $newedition, SQLVARCHAR);
  • mssql_bind($query, "@nouvisbn", $newisbn, SQLVARCHAR);
  • /*PARAMETRE DE SORTIE !! */
  • mssql_bind($query, "@cleflivre", $Id, SQLINT4, TRUE, FALSE, 10);
  • /* EXECUTION DE LA SP*/
  • $result = mssql_execute($query);
  • /*AFFICHAGE DU RESULTAT*/
  • echo $Id;
  • ?>
Voici la procedure stockee qui ne fait que d'inserer un record ds une db et renvoit la clef inserer
----------------------------------------------------------------------------------------------------

Create  PROC ajoutlivres

--declartations des variables
@nouvtitre varchar(50),
@nouvedition varchar(30),
@nouvisbn varchar(20)
@cleflivre int output

--champ statut  pas declare
--le 1 signifie => utilisable 
--0 => supprimer

--rerquete insert
as
  insert  into livres
  (titre, edition, isbn, statut)
 values (@nouvtitre, @nouvedition, @nouvisbn, '1')

--recupere identifiant et le renvoit fraca a output
set @cleflivre = (select @@IDENTITY as PK_livre)


Le script php  :
----------------------------

<?php
/*DECLARATIONS POUR LA CONNECTION*/
$MonServer = "localhost"; 
$MonUser = "sa"; 
$MonPass = "VotreMotPasse"; 
$MaDB = "VotreDb";

/*CONNECTION A SQL SERVEUR*/
$s = @mssql_connect($MonServer, $MonUser, $MonPass) 
or die("Couldn't connect to SQL Server on $MonServer");

/*SELECTION DE LA DB*/
$d = @mssql_select_db($MaDB, $s) 
or die("Couldn't open database $MaDB");

echo"Test de connection à la base:".$MaDB;
echo"<br>";

/*   appel et intitialisation */
$query = mssql_init("ajoutlivres", $s);

$newtitre="Test";
$newedition="Test";
$newisbn="Test";

/* INITIALISATION */
mssql_bind($query, "@nouvtitre", $newtitre, SQLVARCHAR); 
mssql_bind($query, "@nouvedition", $newedition, SQLVARCHAR); 
mssql_bind($query, "@nouvisbn", $newisbn, SQLVARCHAR); 

/*PARAMETRE DE SORTIE !!  */
mssql_bind($query, "@cleflivre", $Id, SQLINT4, TRUE, FALSE, 10);

/* EXECUTION DE LA SP*/
$result = mssql_execute($query);

/*AFFICHAGE DU RESULTAT*/
echo $Id;

?>

Conclusion

Voila j'espere que cela en aidera certains d'entre vous ...


Enjoy

Christophe

Un Bouillonnais
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

16 septembre 2004 18:29:19 :
Modification du fichier.txt afin de donner plus d'infos aux visiteurs de ce site

Commentaires et avis

signaler à un administrateur
Commentaire de frop01 le 17/09/2004 13:42:54

Bravo, c'est hyper intéressant.
Merci pour les infos et les liens.

signaler à un administrateur
Commentaire de jimmy69 le 17/09/2004 14:11:51

salut salut Frop01,

Sympa ton comment ...merci !

Si tu veux d'autres infos a savoir toutes les fonctions utilisables regardes la doc nexen :

http://www.nexen.net/docs/php/annotee/mssql.requirements.php

Je reste a ton ecoute si tu veux savoir autre chose..

Ciao

Christophe

signaler à un administrateur
Commentaire de GRenard le 17/09/2004 16:22:37

T'as l'air à t'y connaitre en MSSQL, ce qui serait bien c'est de faire un fichier comme le script
http://www.phpcs.com/code.aspx?id=24813
Cela permettrait d'utiliser le MSSQL facilement sans changer tout son site d'une base vers une autre...
Le truc, c'est que tu prends le fichier mysql.php et tu l'adaptes pour mssql :)
C'est une suggestion :) car le script qui est fait est super pour la programmation modulaire ! (Si tu changes d'hébergeur et de DB alors tu n'as qu'à charger un fichier différent :))

signaler à un administrateur
Commentaire de jimmy69 le 17/09/2004 17:22:40

Salut GRenard,

Tu as vu cette fois ci je ne me suis pas trompe de categories :-) !

Oui j'ai vu ta source qui est vraiment superbe...et c'est une excellente idée que tu viens de me souffler !

Si j'ai besoin d'aide je te fais signe..

Ciao mec

signaler à un administrateur
Commentaire de tofinard le 25/10/2005 11:51:50

ouaip ça m'aide bien là, vu que je vois partout que les fonctions ne sont pas documentées et que seul la liste de arguments est disponible, tu m'a bien aidé !!!
:-)
c cool, merci beaucoup !

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.