Função mssql_connect( )
Veja abaixo um exemplo de como se conectar a um banco de dados Microsoft SQL Server através da sua aplicação PHP, listando todos os dados da consulta e efetuando contagem dos registros, utilizando a funçãomssql_connect( ). A mesma está habilitada em servidores Windows 2003:
Arquivo: mssql.php
<? // Dados do banco $dbhost = "hostbanco"; #Nome do host $db = "nomebanco"; #Nome do banco de dados $user = "nomeusuario"; #Nome do usuário $password = "senhabase"; #Senha do usuário // Dados da tabela $tabela = "nometabela"; #Nome da tabela $campo1 = "campo1tabela"; #Nome do campo da tabela $campo2 = "campo2tabela"; #Nome de outro campo da tabela @mssql_connect($dbhost,$user,$password) or die("Não foi possível a conexão com o servidor!"); @mssql_select_db("$db") or die("Não foi possível selecionar o banco de dados!"); $instrucaoSQL = "SELECT $campo1, $campo2 FROM $tabela ORDER BY $campo1"; $consulta = mssql_query($instrucaoSQL); $numRegistros = mssql_num_rows($consulta); echo "Esta tabela contém $numRegistros registros!/n<hr>/n"; if ($numRegistros!=0) { while ($cadaLinha = mssql_fetch_array($consulta)) { echo "$cadaLinha[$campo1] - $cadaLinha[$campo2]/n<br>/n"; } } ?>
Função sqlsrv_connect( )
Neste outro exemplo é mostrado um script de conexão utilizando a função sqlsrv_connect( ). A mesma está habilitada em servidores Windows 2008:
Arquivo: sqlsrv.php
<? // Dados do banco $dbhost = "hostbanco"; #Nome do host $db = "nomebanco"; #Nome do banco de dados $user = "nomeusuario"; #Nome do usuário $password = "senhabase"; #Senha do usuário // Dados da tabela $tabela = "nometabela"; #Nome da tabela $campo1 = "campo1tabela"; #Nome do campo da tabela $campo2 = "campo2tabela"; #Nome de outro campo da tabela $conninfo = array("Database" => $db, "UID" => $user, "PWD" => $password); $conn = sqlsrv_connect($dbhost, $conninfo); $instrucaoSQL = "SELECT $campo1, $campo2 FROM $tabela ORDER BY $campo1"; $params = array(); $options =array("Scrollable" => SQLSRV_CURSOR_KEYSET); $consulta = sqlsrv_query($conn, $instrucaoSQL, $params, $options); $numRegistros = sqlsrv_num_rows($consulta); echo "Esta tabela contém $numRegistros registros!/n<hr>/n"; if ($numRegistros!=0) { while ($cadaLinha = sqlsrv_fetch_array($consulta, SQLSRV_FETCH_ASSOC)) { echo "$cadaLinha[$campo1] - $cadaLinha[$campo2]/n<br>/n"; } } ?>
Provider SQLOLEDB
Neste outro exemplo é mostrado um script de conexão utilizando o Provider SQLOLEDB:
Arquivo: PDO_SQLOLEDB.php
<? // Dados do banco $dbhost = "hostbanco"; #Nome do host $db = "nomebanco"; #Nome do banco de dados $user = "nomeusuario"; #Nome do usuário $password = "senhabase"; #Senha do usuário // Dados da tabela $tabela = "nometabela"; #Nome da tabela $campo1 = "campo1tabela"; #Nome do campo da tabela $conn = new COM ("ADODB.Connection") or die("Nâo foi possível carregar o ADO"); $connStr = "PROVIDER=SQLOLEDB;SERVER=".$dbhost.";UID=".$user.";PWD=".$password.";DATABASE=".$db; $conn->open($connStr); $instrucaoSQL = "SELECT $campo1 FROM $tabela"; $rs = $conn->execute($instrucaoSQL); $num_columns = $rs->Fields->Count(); echo "Foi mostrada $num_columns coluna da presente tabela.". "<br><br>"; for ($i=0; $i < $num_columns; $i++) { $fld[$i] = $rs->Fields($i); } echo "<table>"; while (!$rs->EOF) { echo "<td>"; for ($i=0; $i < $num_columns; $i++) { echo "<td>" . $fld[$i]->value . "</td>"; } echo "</td>"; $rs->MoveNext(); } echo "</table>"; $rs->Close(); $conn->Close(); $rs = null; $conn = null; ?>
</source>
PDO(PHP Data Objects) com SQL Server
Neste exemplo é mostrado um script de conexão utilizando PDO(PHP Data Objects). Lembrando que este exemplo funciona na versão 5.2 do PHP. Para utilização em servidores Windows 2008, há de alterar a versão do php via web.config tendo em vista que a versão padrão em windows 2008 é a PHP 5.3:
Arquivo: PDO_SQLserver.php
<?php try { $hostname = "sqlserver01.bancodedados.com"; $dbname = "nomebanco"; $username = "nomebanco"; $pw = "senha"; $pdo = new PDO ("mssql:host=$hostname;dbname=$dbname","$username","$pw"); } catch (PDOException $e) { echo "Erro de Conexão " . $e->getMessage() . "/n"; exit; } $query = $pdo->prepare("select Coluna FROM nome_tabela"); $query->execute(); for($i=0; $row = $query->fetch(); $i++){ echo $i." - ".$row['Coluna']."<br/>"; } unset($pdo); unset($query); ?>
Veja também