(PHP 4 >= 4.0.7, PHP 5, PECL odbtp >= 1.1.1)
mssql_bind — Fügt einer Stored Procedure oder einer Remote Stored Procedure einen Parameter hinzu
$stmt
, string $param_name
, mixed &$var
, int $type
[, bool $is_output
= false
[, bool $is_null
= false
[, int $maxlen
= -1
]]] )Fügt einer Stored Procedure oder einer Remote Stored Procedure einen Parameter hinzu.
stmt
Der mittels mssql_init() erhaltene Bezeichner der Anweisung.
param_name
Der Name des Parameters als Zeichenkette
Hinweis:
Sie müssen das Zeichen @ der Syntax von T-SQL entsprechend einfügen. Eine Erklärung finden Sie bei mssql_execute().
var
Die PHP-Variable, an die Sie den MS SQL-Parameter binden. Sie wird als Referenz übergeben, um die OUTPUT- und RETVAL-Werte nach der Ausführung der Prozedur abzurufen.
type
Mögliche Werte: SQLTEXT
,
SQLVARCHAR
, SQLCHAR
,
SQLINT1
, SQLINT2
,
SQLINT4
, SQLBIT
,
SQLFLT4
, SQLFLT8
,
SQLFLTN
.
is_output
Ob der Parameter ein OUTPUT-Parameter ist oder nicht. Falls er ein OUTPUT-Parameter ist uns Sie das nicht angeben, wird er wie ein normaler Eingabeparameter behandelt und es wird keine Fehlermeldung ausgegeben.
is_null
Ob der Parameter NULL
ist oder nicht. Es genügt nicht, den Wert
NULL
als var
zu übergeben.
maxlen
Wird bei char/varchar-Werten verwendet. Sie müssen die Länge der Daten
angeben. Falls der Parameter vom Typ varchar(50) ist, muss also der
type
SQLVARCHAR
und dieser
Wert 50 sein.
Gibt bei Erfolg TRUE
zurück. Im Fehlerfall wird FALSE
zurückgegeben.
Beispiel #1 mssql_bind()-Beispiel
<?php
// Mit MSSQL verbinden und Datenbank auswählen
mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');
// Eine neue Stored Prodecure erzeugen
$anweisung = mssql_init('NeuerBenutzer');
// Die Feldnamen anbinden
mssql_bind($anweisung, '@username', 'Kalle', SQLVARCHAR, false, false, 60);
mssql_bind($anweisung, '@name', 'Kalle', SQLVARCHAR, false, false, 60);
mssql_bind($anweisung, '@age', 19, SQLINT1, false, false, 3);
// Anweisung ausführen
mssql_execute($anweisung);
// Den Anweisungsspeicher freigeben
mssql_free_statement($anweisung);
?>