Le langage PHP dispose de nombreuses fonctions permettant de travailler sur des bases de données Microsoft SQL Server.

Ces fonctions ne sont disponibles que sous Windows 32 bits et avec une installation des librairies adéquates sur le serveur. Le fichier ntwdblib.dll disponible sur le cédérom d'installation, doit être copié dans le répertoire \WINNT\SYSTEM32 et le fichier php.ini doit également comporter la ligne extension=php_mssql.dll.

Pour en savoir plus, la consultation des sites php.net, phpbuilder.com et de freetds.org s'impose.

Fonction
Description
true | false = mssql_close($id_connexion);
ferme une connexion SQL Server.
$id_connexion | false = mssql_connect([$nom_serveur
[, $utilisateur [, $mot_passe]]]);
ouvre une connexion à un serveur SQL server.
true | false = mssql_data_seek($id_connexion, $num_enregistrement);
déplace le pointeur vers un enregistrement désigné par son numéro.
$tab_valeurs | false = mssql_fetch_array($id_resultat);
retourne les valeurs d'un enregistrement dans un tableau.
$obj_informations = mssql_fetch_field($id_resultat [, $position_champs]);
retourne les informations sur le champs dans un objet dont les propriétés sont :
Index Description
name représente le nom de la colonne.
column_source représente le nom de la table d'où la colonne est originaire.
max_length représente la taille maximale de la colonne.
numeric retourne -1 si la colonne est numérique.
$obj_valeurs | false = mssql_fetch_object($id_resultat);
retourne un objet contenant les valeurs d'un enregistrement.
$tab_valeurs | false = mssql_fetch_row($id_resultat);
retourne les valeurs d'un enregistrement dans un tableau.
$longueur = mssql_field_length($id_resultat [, $position_champs]);
retourne la longueur d'un champs.
$nom = mssql_field_name($id_resultat [, $position_champs]);
retourne le nom d'un champs.
$position = mssql_field_seek($id_resultat, $position_champs);
positionne le pointeur sur un champs et retourne sa position.
$type = mssql_field_type($id_resultat [, $position_champs]);
retourne le nom d'un champs.
true | false = mssql_free_result($id_resultat);
libère les ressources utilisées par un résultat.
$message = mssql_get_last_message();
retourne un message d'erreur du serveur.
mssql_min_error_severity($niveau_severite);
détermine le niveau de sévérité des erreurs.
mssql_min_message_severity($niveau_severite);
détermine le niveau de sévérité des messages d'erreurs.
true | false = fbsql_next_result($id_resultat);
déplace le pointeur vers le résultat suivant.
$nb_champs = mssql_num_fields($id_resultat);
retourne le nombre de champs dans un résultat.
$nb_enregistrements = mssql_num_rows($id_resultat);
retourne le nombre d'enregistrements dans un résultat.
$id_connexion = mssql_pconnect([$nom_serveur
[, $utilisateur [, $mot_passe]]]);
ouvre une connexion persistante à un serveur SQL Server.
$id_resultat | false = mssql_query($requete [, $id_connexion]);
envoie une requête SQL au serveur.
$valeur | false = mssql_result($id_resultat,
$num_enregistrement, $position_champs);
retourne la valeur du champs à l'enregistrement spécifié dans un résultat.
true | false = mssql_select_db($nom_base, $id_connexion);
sélectionne une base de données SQL Sever.
Exemple
<?php
  $id_connexion= mssql_connect("localhost" , "utilisateur" , "motpasse" )
        or die("<h3>Une erreur est survenue :</h3>" 
                . mssql_get_last_message() . "</b>");

  mssql_select_db("pubs");

  $id_resultat = mssql_query("select * from employee", $id_connexion);

  echo '<table border="1"><tr>';
  for($i = 0; $i < mssql_num_fields($id_resultat); $i++)
  {
    echo '<th>' . mssql_field_name($id_resultat, $i) . '</th>';
  }
  echo '</tr>';

  for($i = 0; $i < mssql_num_rows($id_resultat); $i++)
  {
    echo '<tr>';
    for($j = 0; $j < mssql_num_fields($id_resultat); $j++))
    {
      echo '<td>' . mssql_result($id_resultat, $i, $j) . '</td>';
    }
    echo '</tr>';
  }
  echo '</table>';

  mssql_close($id_connexion);
?>