c语言编程笔录

首页 >   > 笔记大全

笔记大全

PHP7怎么连接sql server

更新时间:2023-11-08

1. 使用PDO类连接SQL Server

PDO是一个PHP扩展,提供了一个统一的接口访问不同的数据库,包括SQL Server。以下代码演示了如何使用PDO连接SQL Server,并查询一个表中的数据。

<?php
try {
    $pdo = new PDO("sqlsrv:Server=myServerName;Database=myDataBase", "myUserName", "myPassword");
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sql = "SELECT * FROM myTable";
    $stmt = $pdo->query($sql);
    while ($row = $stmt->fetch()) {
        echo $row['column1']." ".$row['column2']."<br/>";
    }
}
catch(PDOException $e) {
    echo "Connection failed: ".$e->getMessage();
}
?>

在以上代码中,我们使用了PDO的构造函数来创建一个与SQL Server的连接。注意,这里的DSN字符串中的“sqlsrv”代表了使用SQL Server驱动程序,而“myServerName”、“myDataBase”、“myUserName”和“myPassword”分别是你的SQL Server实例名、要连接的数据库名称、用户名和密码。

2. 使用SQLSRV扩展连接SQL Server

SQLSRV是一个PHP扩展,可以与SQL Server进行通信,是PHP 7.0及以上版本的建议用法。以下代码演示了如何使用SQLSRV扩展连接SQL Server,并查询一个表中的数据。

<?php
$serverName = "myServerName";
$connectionInfo = array( "Database"=>"myDatabase", "UID"=>"myUsername", "PWD"=>"myPassword" );
$conn = sqlsrv_connect( $serverName, $connectionInfo );
if( $conn ) {
    $sql = "SELECT * FROM myTable";
    $stmt = sqlsrv_query( $conn, $sql );
    if( $stmt === false) {
        echo "Error in SQL query: ";
        die( print_r( sqlsrv_errors(), true) );
    }
    while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
        echo $row['column1']." ".$row['column2']."<br/>";
    }
    sqlsrv_free_stmt( $stmt);
    sqlsrv_close( $conn);
}
else{
    echo "Connection could not be established.
"; die( print_r( sqlsrv_errors(), true)); } ?>

在以上代码中,我们使用了sqlsrv_connect函数来创建与SQL Server的连接。注意,这里的“myServerName”、“myDatabase”、“myUsername”和“myPassword”分别是你的SQL Server实例名、要连接的数据库名称、用户名和密码。

3. 使用ODBC扩展连接SQL Server

ODBC是一个通用的数据库访问接口,PHP可以使用ODBC扩展来访问SQL Server。以下代码演示了如何使用ODBC扩展连接SQL Server,并查询一个表中的数据。

<?php
$serverName = "myServerName";
$databaseName = "myDatabase";
$dsn = "Driver={SQL Server};Server=$serverName;Database=$databaseName;";
$user = "myUsername";
$password = "myPassword";
$conn = odbc_connect($dsn, $user, $password);
if ($conn) {
    $sql = "SELECT * FROM myTable";
    $rs = odbc_exec($conn, $sql);
    if (!$rs) {
        die("Error in SQL query: " . odbc_errormsg());
    }
    while ($row = odbc_fetch_array($rs)) {
        echo $row['column1']." ".$row['column2']."<br/>";
    }
    odbc_free_result($rs);
    odbc_close($conn);
}
else {
    die("Connection failed: " . odbc_errormsg());
}
?>

在以上代码中,我们使用了odbc_connect函数来创建与SQL Server的连接。注意,这里的DSN字符串中包含了SQL Server驱动程序的名称“{SQL Server}”,和连接的服务器名和数据库名。

4. 使用mssql_connect函数连接SQL Server(已逐步推出)

这种连接方式已经逐步退出,PHP7.0及以上支持已经不包含此方法,在PHP5.3发行版本中已经标记为过时方法。以下代码演示了如何使用mssql_connect函数连接SQL Server,并查询一个表中的数据。

<?php
$serverName = "myServerName";
$user = "myUsername";
$password = "myPassword";
$conn = mssql_connect($serverName, $user, $password);
if ($conn) {
    $databaseName = "myDatabase";
    mssql_select_db($databaseName, $conn);
    $sql = "SELECT * FROM myTable";
    $rs = mssql_query($sql, $conn);
    if (!$rs) {
        die("Error in SQL query: " . mssql_get_last_message());
    }
    while ($row = mssql_fetch_array($rs, MSSQL_ASSOC)) {
        echo $row['column1']." ".$row['column2']."<br/>";
    }
    mssql_free_result($rs);
    mssql_close($conn);
}
else {
    die("Connection failed: " . mssql_get_last_message());
}
?>

在以上代码中,我们使用了mssql_connect函数来创建与SQL Server的连接。注意,这里传递给该函数的三个参数分别是SQL Server实例名、用户名和密码。