segunda-feira, 2 de setembro de 2013

Conectando-se ao MS SQL Server através do PHP

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);
?>

<?
$uid = "USUARIO_DO_BANCO";
$pwd = "SENHA";
$host = "ENDERECO_DO_SERVIDOR";
$dbsql = "NOME DO BANCO";
//Declaração do array
$connectionInfo = array( "UID"=>$uid,
"PWD"=>$pwd,
"Database"=>"NOME_DO_BANCO");
$conn = sqlsrv_connect( $host, $connectionInfo);
if( $conn === false ) {
echo "Unable to connect.</br>";
die( print_r( sqlsrv_errors(), true));
}
?>

Nenhum comentário :

Postar um comentário

Total de visualizações de página