Php + procedures stockees sous mssql serveur

Soyez le premier à donner votre avis sur cette source.

Vue 13 848 fois - Téléchargée 643 fois

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 / Exemple :


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

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_frop01
Messages postés
1356
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
19 novembre 2008
1 -
Bravo, c'est hyper intéressant.
Merci pour les infos et les liens.
cs_jimmy69
Messages postés
787
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
27 novembre 2008
-
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
cs_GRenard
Messages postés
1663
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008
1 -
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 :))
cs_jimmy69
Messages postés
787
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
27 novembre 2008
-
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
tofinard
Messages postés
2
Date d'inscription
jeudi 26 juin 2003
Statut
Membre
Dernière intervention
4 mai 2009
-
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 !

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.