Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 2
            [id] => 507802
            [titulo] => Conectar Banco de dados MSSQL a um Site PHP
            [dataCadastro] => DateTime Object
                (
                    [date] => 2015-01-19 23:21:22
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 310412
            [status] => A
            [isExample] => 
            [NomeUsuario] => Marcio Araujo
            [Apelido] => 
            [Foto] => homer-informatica.gif
            [Conteudo] => Boa noite Moises, 

olha este post, não é muito antigo

[url]http://www.devmedia.com.br/forum/conexao-entre-php-e-sql-server-2014/482183[/url] ) )

Conectar Banco de dados MSSQL a um Site PHP

Moisés
   - 19 jan 2015

Pessoal estou com dificuldades para conectar meu banco de dados MSSQL ao meu projeto PHP, estou usando Wampserver 2.5 em minha máquina como servidor local e o Microsoft SQL Server Express 2008 como banco de dados, e estou usando a autenticação windows e não criei nenhum usuário e nem senha para ele;
para a conexão ao banco de dados tenho que informar os seguinte dados:
$host = " ";
$user = "";
$pass = "";
mas quem seria o meu host se eu estou rodando ma minha propria máquina e quem é o usuário se não criei nele no Sql server e nem detreminei senha?

Post mais votado

Marcio Araujo
   - 19 jan 2015

Boa noite Moises,

olha este post, não é muito antigo

http://www.devmedia.com.br/forum/conexao-entre-php-e-sql-server-2014/482183

2
|
0

Moisés
   - 20 jan 2015

Marcio Araujo,

Eeste poste eu já tinha visto e tentei as configurações, mas não deu certo, estou usando as seguintes configurações agora estou tentando autenticar com "sa"
usuário padrão do MSSQL.

<?php

//conexao com o mssql
$host = "localhost";
$user = "sa";
$pass = "xxxxxxxxxxx";
$banco = "petshop";

$conexao = mssql_connect($host) or die( mssql_get_last_message("não foi possivel conectar"));
mssql_select_db($banco, $conexao) or die (mssql_get_last_message());

?>

Esta dando este erro, eu já istalei os drives de conecção do mssql com o wamp serve e tambem a tivei as mesma no no arquivo php.ini e mesmo assim continua com estes erros.

( ! ) Fatal error: Call to undefined function mssql_connect() in C:\Program Files\wamp\www\Projeto\conexao.php on line 8
Call Stack
# Time Memory Function Location
1 0.1900 134800 {main}( ) ..\conexao.php:0

0
|
0

Pedro Amaral
   - 20 jan 2015

starta o mysql.

O wamp, easyphp e xamp por padrão tem que starta o mysql.

0
|
0

William (devwilliam)
   - 20 jan 2015


Citação:
starta o mysql.

O wamp, easyphp e xamp por padrão tem que starta o mysql.


Colega Pedro acho que você está confundindo, a dúvida no post é relativa a conexão com o SQL Server 2008 não MySQL!

Moisés de uma olhada em como instalar a extensão pdo_sqlsrv, na empresa uso essa para trabalhar com SQL Server 2008 R2, tentei a mssql mas dava muito problema.

0
|
0

Moisés
   - 21 jan 2015

Pedro Paulo Machado do Amaral,

No Mysql eu consegui fazer toda conenxão, porem, nó posso trabalhar com Mysql, pois tenho outro sistema vai falar com o mesmo database do site o meu outro sistema e em C#, se eu usar Mysql vou ter mais dificuldades do que já estou tendo.

0
|
0

Moisés
   - 21 jan 2015

William,

Já fiz o procedimento referente o pdo_sqlsrv, baixei as dll no site da Microsoft, e também adicionei elas no php.ini, antes de postar a duvida aqui no site.

0
|
0

Moisés
   - 21 jan 2015

Vou dar uma olhada nesses links

0
|
0

William (devwilliam)
   - 21 jan 2015


Citação:
William,

Já fiz o procedimento referente o pdo_sqlsrv, baixei as dll no site da Microsoft, e também adicionei elas no php.ini, antes de postar a duvida aqui no site.


Funcionou?

Não se esqueça que essa é uma extensão PDO, então a sintaxe de uso é diferente da extensão _mssql.

1
|
0

Fernando C
   - 21 jan 2015

PDO não funciona c/ bancos proprietários (oracle/SQL Server), pelo menos em windows.
use PDO-ODBC.

Citação:
quem é o usuário se não criei nele no Sql server e nem detreminei senha?

vc terá que instalar o SQL Server (ou uma nova instância) em "mixed mode",
ai ele t pedirá p/ definir a senha.
O usuario, por padrão, será o "sa".
também verifique as permissões (pasta e arquivos) e libere portas e (o principal) o protocolo TCP/IP p/ a instância.

0
|
0

William (devwilliam)
   - 21 jan 2015

Fernando sinto em discordar de você amigo, trabalho com a extensão pdo_sqlsrv (PDO) e com PHP rodando no IIS, Windows Server 2008 R2.

Utilizamos em mais 10 portais essa extensão e funciona tranquilamente, eu mesmo configurei o ambiente para rodar essa extensão.

Existe uma extensão para PHP rodando no Linux trabalhar com SQL Server chamada pdo_dblib.

0
|
0

Marcio Araujo
   - 21 jan 2015


Citação:
Vou dar uma olhada nesses links


Ajudou?

0
|
0

Moisés
   - 21 jan 2015

Ajudou bastante, consegui autenticar o banco de dados pelo usuário "AS" e Senha, onde meu arquivo de conexão parou de dá erros, porem quando faço a inclusão do mesmo na pagina de interface fica tudo em branco não mostra nada ou não aprece nem erro e nem funciona ou senha estou fazendo assim:

aquivo conexao.pho:
<?php

// Dados do banco
$dbhost = "localhost\SILVA-PC\SQLEXPRESS"; #Nome do host
$db = "pet"; #Nome do banco de dados
$user = "sa"; #Nome do usuário
$password = "XXXXXXXX"; #Senha do usuário

@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!");

?>

Minha pagina:
<?php include('conexao.php'); ?> //Estou usando esta linha para chamar meu arquivo conexão porem quando a insiro não mostra nada fico tudo em branco, quando não colo a mesma minha pagina exibi normal mente

0
|
0

Moisés
   - 21 jan 2015


Citação:

Citação:
William,

Já fiz o procedimento referente o pdo_sqlsrv, baixei as dll no site da Microsoft, e também adicionei elas no php.ini, antes de postar a duvida aqui no site.


Funcionou?

Não se esqueça que essa é uma extensão PDO, então a sintaxe de uso é diferente da extensão _mssql.


Como assim diferente assim eu não conheço ainda!!

0
|
0

Moisés
   - 21 jan 2015


Citação:
Ajudou bastante, consegui autenticar o banco de dados pelo usuário "AS" e Senha, onde meu arquivo de conexão parou de dá erros, porem quando faço a inclusão do mesmo na pagina de interface fica tudo em branco não mostra nada ou não aprece nem erro e nem funciona ou senha estou fazendo assim:

aquivo conexao.pho:
<?php

// Dados do banco
$dbhost = "localhost\SILVA-PC\SQLEXPRESS"; #Nome do host
$db = "pet"; #Nome do banco de dados
$user = "sa"; #Nome do usuário
$password = "XXXXXXXX"; #Senha do usuário

@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!");

?>

Minha pagina:
<?php include('conexao.php'); ?> //Estou usando esta linha para chamar meu arquivo conexão porem quando a insiro não mostra nada fico tudo em branco, quando não colo a mesma minha pagina exibi normal mente


Gente falei neste ultimo post que o meu arquivo de conexão não estava mais dando erros, vi que o motivo dos erro não aparecerem era o sibolo de "@" no inicio das sintaxes ou seja continuo sem conseguir conectar.

pessoal estou os meus arquivos no Wampserve a minha instancia do MSSQL é "SILVA-PC\SQLEXPRESS" como nessa condiçoes para o php no wampserve como ficaria o nome do servidor?

Ficaria assim: "localhost/SILVA-PC/SQLEXPRESS"? estou achando que é nome do servidor que não esta batendo!

0
|
0

Moisés
   - 21 jan 2015


Citação:
Ajudou bastante, consegui autenticar o banco de dados pelo usuário "AS" e Senha, onde meu arquivo de conexão parou de dá erros, porem quando faço a inclusão do mesmo na pagina de interface fica tudo em branco não mostra nada ou não aprece nem erro e nem funciona ou senha estou fazendo assim:

aquivo conexao.pho:
<?php

// Dados do banco
$dbhost = "localhost\SILVA-PC\SQLEXPRESS"; #Nome do host
$db = "pet"; #Nome do banco de dados
$user = "sa"; #Nome do usuário
$password = "XXXXXXXX"; #Senha do usuário

@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!");

?>

Minha pagina:
<?php include('conexao.php'); ?> //Estou usando esta linha para chamar meu arquivo conexão porem quando a insiro não mostra nada fico tudo em branco, quando não colo a mesma minha pagina exibi normal mente


Gente falei neste ultimo post que o meu arquivo de conexão não estava mais dando erros, vi que o motivo dos erro não aparecerem era o sibolo de "@" no inicio das sintaxes ou seja continuo sem conseguir conectar.

pessoal estou os meus arquivos no Wampserve a minha instancia do MSSQL é "SILVA-PC\SQLEXPRESS" como nessa condiçoes para o php no wampserve como ficaria o nome do servidor?

Ficaria assim: "localhost/SILVA-PC/SQLEXPRESS"? estou achando que é nome do servidor que não esta batendo!

0
|
0

William (devwilliam)
   - 21 jan 2015


Citação:

Como assim diferente assim eu não conheço ainda!!


Moisés para se conectar utilizando PDO basicamente seria assim:

#Código

$conexao = new PDO("sqlsrv:server=<IP_ou_ServerName>; database=nome_banco_dados;", "usuário", "senha");


Essa página pode ajudar você com outras dúvidas https://msdn.microsoft.com/en-us/library/ff754357(v=sql.105).aspx

0
|
0

Marcio Araujo
   - 21 jan 2015

PDO está sendo a forma mais utilizada, padrão não é?

0
|
0

William (devwilliam)
   - 22 jan 2015

Olhá Márcio, PDO é utilizado pelos principais frameworks PHP do mercado e um dos vários motivos é o fato dessa biblioteca abstrair o acesso e manipulação de dados para diversos SGBDs, uma vez que extensões como myqli_ só trabalham com MySQL, mssql_ só trabalha com SQL Server e por aí vai.

Com PDO eu mesmo já trabalhei com MySQL, PostgreSQL e SQL Server usando a mesma sintaxe de acesso e manipulação de dados.

0
|
0

Marcio Araujo
   - 22 jan 2015

Interessante, a mesma sintaxe? é como se existisse uma sintaxe propria do PHP para os bancos?

0
|
0

William (devwilliam)
   - 22 jan 2015

Márcio vai 3 exemplos bem básicos de conexões, utilizando PDO onde a única diferença é nos dados de conexão, imagine que eu tenha a mesma tabela de clientes em 3 SGBDs diferentes (MySQL, SQL Server e PostgreSQL).

Observe a estrutura das conexões, estou atribuindo para variável $conexao:
#Código

// Conexão com MySQL
$conexao = new PDO("mysql:host=" . HOST . "; dbname=" . DBNAME . ";", USER, PASSWORD);

// Conexão com SQL Server
$conexao = new PDO("sqlsrv:server=" . HOST . "; database=" . DBNAME . ";", USER, PASSWORD);

// Conexão com PostgreSQL
$conexao = new PDO("pgsql:host=" . HOST . "; dbname=" . DBNAME . ";", USER, PASSWORD);


Agora vou efetuar uma consulta simples, mas essa sintaxe equivale para os 3 SGBDs:
#Código
$sql = "SELECT id, nome, cpf FROM cliente";
$stm = $conexao->prepare($sql);
$stm->execute();
$dados = $stm->fetchAll(PDO::FETCH_OBJ);


É importante mencionar que para essa consulta funcionar nos 3 SGBDs a instrução SQL não pode conter comandos proprietários, ou seja, instruções que só existem por exemplo no MySQL como 'LIMIT' ou 'TOP' para o SQL Server não podem ser executadas porque não são genéricas.

Basicamente é isso Márcio.

0
|
0