(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)
Cette fonction a été SUPPRIMÉE à partir de PHP 7.0.0.
Les alternatives à cette fonction incluent :
$stmt
, string $param_name
, mixed &$var
, int $type
[, bool $is_output = FALSE
[, bool $is_null = FALSE
[, int $maxlen = -1
]]] ) : boolAjoute un paramètre à une procédure stockée MSSQL (locale ou distante).
stmtUne ressource de requête, obtenue avec la fonction mssql_init().
param_nameLe 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().
varLa 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_outputSi 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);
?>