Php + procedures stockees sous mssql serveur

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

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.