(PHP 4 >= 4.0.7, PHP 5, PECL odbtp >= 1.1.1)
mssql_bind — Ajoute un paramètre à une procédure stockée MSSQL (locale ou distante)
$stmt
, string $param_name
, mixed &$var
, int $type
[, bool $is_output
= false
[, bool $is_null
= false
[, int $maxlen
= -1
]]] )Ajoute un paramètre à une procédure stockée MSSQL (locale ou distante).
stmt
Une ressource de requête, obtenue avec la fonction mssql_init().
param_name
Le nom du paramètre, sous la forme d'une chaîne de caractères.
Note:
Vous devez ajouter un caractère @, comme dans la syntaxe T-SQL. Voir l'explication dans la documentation de la fonction mssql_execute().
var
La variable PHP que vous voulez lier au paramètre MSSQL. Il faut la passer par référence pour récupérer les valeurs OUTPUT et RETVAL après l'exécution de la procédure.
type
Une constante parmi : SQLTEXT
,
SQLVARCHAR
, SQLCHAR
,
SQLINT1
, SQLINT2
,
SQLINT4
, SQLBIT
,
SQLFLT4
, SQLFLT8
,
SQLFLTN
.
is_output
Si la valeur est un paramètre OUTPUT ou non. Si c'est un paramètre OUTPUT et que vous ne mentionnez pas, il sera traité comme un paramètre d'entrée normal et aucune erreur ne sera émise.
is_null
Si le paramètre vaut NULL
ou non. Le fait de passer NULL
comme
valeur au paramètre var
n'y fera rien.
maxlen
Utilisé avec les valeurs de type CHAR et VARCHAR. Vous devez indiquer
la longueur des données, donc, si ce paramètre vaut VARCHAR(50), le type
doit être SQLVARCHAR
et sa valeur, 50.
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient.
Exemple #1 Exemple avec mssql_bind()
<?php
// Connexion à MSSQL et sélection de la base de données
mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');
// Crée une nouvelle procédure stockée
$stmt = mssql_init('NewUserRecord');
// Lie les noms de champs
mssql_bind($stmt, '@username', 'Kalle', SQLVARCHAR, false, false, 60);
mssql_bind($stmt, '@name', 'Kalle', SQLVARCHAR, false, false, 60);
mssql_bind($stmt, '@age', 19, SQLINT1, false, false, 3);
// Exécute
mssql_execute($stmt);
// Libère les ressources
mssql_free_statement($stmt);
?>