Você está na página 1de 4

Conectando-se ao MS SQL Server atravs do PHP - Wiki Locaweb

1 de 4

http://wiki.locaweb.com/pt-br/Conectando-se_ao_MS_SQL_Server_at...

Conectando-se ao MS SQL Server atravs do PHP


De Wiki Locaweb

Funo mssql_connect( )
Veja abaixo um exemplo de como se conectar a um banco de dados Microsoft SQL Server atravs da sua aplicao
PHP, listando todos os dados da consulta e efetuando contagem dos registros, utilizando a
funomssql_connect( ). A mesma est habilitada em servidores Windows 2003:
Arquivo: mssql.php
<?
// Dados do
$dbhost
=
$db
=
$user
=
$password =

banco
"hostbanco";
"nomebanco";
"nomeusuario";
"senhabase";

// Dados da tabela
$tabela = "nometabela";
$campo1 = "campo1tabela";
$campo2 = "campo2tabela";

#Nome do host
#Nome do banco de dados
#Nome do usurio
#Senha do usurio

#Nome da tabela
#Nome do campo da tabela
#Nome de outro campo da tabela

@mssql_connect($dbhost,$user,$password) or die("No foi possvel a conexo com o servidor!");


@mssql_select_db("$db") or die("No foi possvel 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 contm $numRegistros registros!\n<hr>\n";
if ($numRegistros!=0) {
while ($cadaLinha = mssql_fetch_array($consulta)) {
echo "$cadaLinha[$campo1] - $cadaLinha[$campo2]\n<br>\n";
}
}
?>

Funo sqlsrv_connect( )
Neste outro exemplo mostrado um script de conexo utilizando a funo sqlsrv_connect( ). A mesma est
habilitada em servidores Windows 2008:
Arquivo: sqlsrv.php

17/05/2015 13:09

Conectando-se ao MS SQL Server atravs do PHP - Wiki Locaweb

2 de 4

<?
// Dados do
$dbhost
=
$db
=
$user
=
$password =

banco
"hostbanco";
"nomebanco";
"nomeusuario";
"senhabase";

// Dados da tabela
$tabela = "nometabela";
$campo1 = "campo1tabela";
$campo2 = "campo2tabela";

http://wiki.locaweb.com/pt-br/Conectando-se_ao_MS_SQL_Server_at...

#Nome do host
#Nome do banco de dados
#Nome do usurio
#Senha do usurio

#Nome da tabela
#Nome do campo da tabela
#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 contm $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 conexo utilizando o Provider SQLOLEDB:
Arquivo: PDO_SQLOLEDB.php

17/05/2015 13:09

Conectando-se ao MS SQL Server atravs do PHP - Wiki Locaweb

3 de 4

<?
// Dados do
$dbhost
=
$db
=
$user
=
$password =

banco
"hostbanco";
"nomebanco";
"nomeusuario";
"senhabase";

// Dados da tabela
$tabela = "nometabela";
$campo1 = "campo1tabela";

http://wiki.locaweb.com/pt-br/Conectando-se_ao_MS_SQL_Server_at...

#Nome do host
#Nome do banco de dados
#Nome do usurio
#Senha do usurio

#Nome da tabela
#Nome do campo da tabela

$conn = new COM ("ADODB.Connection") or die("No foi possvel 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 conexo utilizando PDO(PHP Data Objects) (http://ajuda.locaweb.com.br
/pt-br/PDO_-_PHP_Data_Object#Como_conectar_a_um_banco_SQL_Server_usando_PDO). Lembrando que este
exemplo funciona na verso 5.2 do PHP. Para utilizao em servidores Windows 2008 (http://ajuda.locaweb.com.br
/pt-br/Hospedagem__Windows_2008_R2#Mudando_a_vers.C3.A3o_do_PHP_para_determinados_diret.C3.B3rios), h de alterar a
verso do php via web.config tendo em vista que a verso padro em windows 2008 a PHP 5.3:
Arquivo: PDO_SQLserver.php

17/05/2015 13:09

Conectando-se ao MS SQL Server atravs do PHP - Wiki Locaweb

4 de 4

http://wiki.locaweb.com/pt-br/Conectando-se_ao_MS_SQL_Server_at...

<?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 Conexo " . $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);
?>

Ateno: O cdigo mencionado acima somente um exemplo. Caso haja dvidas quanto sua
utilizao, sugerimos que verifique juntamente a um desenvolvedor de sua confiana.

Veja tambm
MS SQL Server (/pt-br/MS_SQL_Server)
Como definir ou alterar a senha do banco de dados MS-SQL Server? (/pt-br
/Como_definir_ou_alterar_a_senha_do_banco_de_dados_MS-SQL_Server%3F)
PHP em Plataforma Windows (/pt-br/PHP_em_Plataforma_Windows)

(http://centraldocliente.locaweb.com.br/)
(http://painel.locaweb.com.br/)

(http://atendimento.locaweb.com.br/)

Central do Cliente
Painel de Controle
Central de Atendimento
(http://centraldocliente.locaweb.com.br/)
(http://painel.locaweb.com.br/) (http://atendimento.locaweb.com.br/)
Disponvel em "http://wiki.locaweb.com.br/index.php?title=Conectando-se_ao_MS_SQL_Server_atravs_do_PHP&
oldid=69401 (http://wiki.locaweb.com.br/index.php?title=Conectando-se_ao_MS_SQL_Server_atravs_do_PHP&
oldid=69401)"
Categorias (/pt-br/Especial:Categorias): Windows (/pt-br/Categoria:Windows)
MS-SQL 2008 (/pt-br/Categoria:MS-SQL_2008) Banco de dados (/pt-br/Categoria:Banco_de_dados)
Esta pgina foi modificada pela ltima vez (s) 15h59min de 16 de janeiro de 2015.
Esta pgina foi acessada 28 835 vezes.

17/05/2015 13:09