1. Home
  2. Conectar ao MS SQL Server através do PHP

Conectar ao MS SQL Server através do PHP

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.

Lembrando que os códigos abaixo são somente um exemplo, caso tenha dúvidas em como utilizar, recomendamos que verifique com um desenvolvedor de sua confiança.

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!

Este artigo foi útil ?