Neste artigo você verá algumas formas de realizar a conexão com seu Banco de Dados MS SQL Server através da sua aplicação PHP.
Função mssql_connect( )
Arquivo: mssql.php
Este exemplo lista todos os dados da consulta e efetua contagem dos registros, utilizando a função mssql_connect( ).
A mesma está habilitada em servidores Windows 2003:
<?
// 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, é necessário 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);
?>
Conheça nosso serviço de Cloud Hosting!