使用mssql_bind函数实现SQLServer数据绑定

介绍

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()执行查询并输出结果。

数据库标签