介绍
SQL Server是微软公司的关系数据库管理系统,它的数据绑定 API 支持通过 SQL Server PHP 扩展在 PHP 中连接 SQL Server 数据库。mssql_bind()是其中一个用于数据绑定的函数,它可以将 PHP 变量与 SQL Server 中的查询参数进行绑定。
语法
mssql_bind ( resource $stmt , string $param_name , mixed &$var , int $type [, bool $is_output [, bool $is_null [, int $maxlen ]]] ) : bool
参数说明
$stmt:必须。SQL Server 查询的句柄。
$param_name:必须。SQL Server 查询参数的名称。
$var:必须。要绑定到 SQL Server 查询参数的 PHP 变量。
$type:必须。SQL Server 查询参数的类型。
$is_output:可选。指定是否为输出参数,默认为 false。
$is_null:可选。指定是否为 null 值,默认为 false。
$maxlen:可选。指定字符串或二进制数据最大长度,对于输出参数而言,最大长度还包括末尾 \0 字符。默认为 -1(即最大长度为未知)。
示例
下面是一个例子,它演示了如何使用mssql_bind()将 PHP 变量与 SQL Server 中的查询参数进行绑定。
$server_name = "localhost";
$connection_info = array( "Database"=>"mydatabase", "UID"=>"myusername", "PWD"=>"mypassword");
// 连接 SQL Server
$conn = sqlsrv_connect($server_name, $connection_info);
if( !$conn ) {
die( print_r( sqlsrv_errors(), true));
}
// SQL查询语句
$sql = "SELECT * FROM users WHERE age > ?";
// 准备语句并绑定参数
$stmt = sqlsrv_prepare( $conn, $sql, array( &$age ));
if( !$stmt ) {
die( print_r( sqlsrv_errors(), true));
}
// 绑定查询参数值
$age = 30;
if( !sqlsrv_execute( $stmt ) ) {
die( print_r( sqlsrv_errors(), true));
}
// 输出结果
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
echo "Name: ".$row['name']." <br/>";
echo "Age: ".$row['age']." <br/>";
echo "Gender: ".$row['gender']." <br/>";
echo "<br/>";
}
// 释放资源
sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);
上述例子中,首先我们通过sqlsrv_connect()函数连接到了 SQL Server,然后通过sqlsrv_prepare()函数准备了查询语句并绑定了一个查询参数age,接着,我们通过mssql_bind()将 PHP 变量$age与 SQL Server 中的参数进行绑定,然后将查询参数值设为30,最后通过sqlsrv_execute()执行查询并输出结果。